对于我们研究所的用户,我们希望提供一个使用PostgreSQL数据库的简单快捷的方法。 目前,我们已经能够通过LDAP(PAM)validation所有用户。 这工作得很好。 我们必须做一次create user ,用户可以使用LDAP支持的密码login到数据库。
但是,这个简单的devise有几个缺点:
用户可能需要一次性使用一次性密码,以便他们不需要存储他们的LDAP密码。
用户应该能够自由创build自己的数据库。 (他们应该能够将其数据库的权限授予其他用户。)
因此,简而言之,只要用username_作为前缀,就应该允许每个具有名称username LDAP支持用户创build其他angular色。 和数据库一样。 (也欢迎其他build议。)LDAP支持的用户将成为整个username_数据库空间的超级username_ 。
我已经看过安装类似于MySQL(通配符授权),但我想知道,如果这也是可能的PostgreSQL。
看起来你应该可以用Postgres函数来完成这个function,这个function是由用户创build和拥有的,既可以创build数据库也可以创build用户; 一个用于创build数据库的函数,另一个用于创build用户 关键是在函数定义中指定SECURITY DEFINER子句( 请参阅文档以获取详细信息 )。 具有第一个函数创build数据库并将所有权等设置为current_user 。 用于创build用户的第二个function可以validation针对current_user创build的用户/angular色,以确保它符合您的命名标准。