【发布时间】:2021-08-12 08:34:41
【问题描述】:
我已经像这样在 Oracle Apex (v21.1) 上设置了 LDAP 目录身份验证方案,并在我的数据库上创建了 ACL:
如果我尝试测试 LDAP 登录,它正在工作(使用我的 firstname.lastname)。出于保密目的,我替换了 IP 地址和域名。
我可以连接到我的应用程序,但我无法访问它,我无法登陆主页,因为我需要一个基于用户所在组的授权方案。
在我的公司,有多个部门,每个部门在 Microsoft Active Directory 中都有一个组,可以让他们访问应用程序,每个组的命名如下:GRP_Inventaire_Dpt1、GRP_Inventaire_Dpt2、GRP_Inventaire_Dpt3、....
我尝试根据本教程创建授权方案: https://blog.jonas-hellmann.de/authorization-in-oracle-apex-with-ldap-groups/
我尝试修改函数的代码,如您在教程第 2.3 章中看到的那样,我是这样做的:
这是我的授权方案:
正如您在屏幕上看到的那样,我必须写下确切的组名才能访问我的应用程序,但我想检查用户是否在以“GRP_Inventaire_”开头的组中,不不管他是什么部门。
不幸的是,有些事情看起来已经很奇怪了。为什么需要在函数中静态写下密码?如何在基于 LDAP Authentication Scheme 的功能中动态拥有它?但是,我知道我可以使用 p_username 参数作为用户名。
***最后,如果我尝试连接到我的应用程序,我会收到授权方案的错误消息:***
总结一下我在寻找什么:
- 基于用户登录的授权方案
- 检查用户是否属于以“GRP_Inventaire_”开头的组
- 该函数需要动态连接用户的凭据
请随时提问以了解更多详情。
【问题讨论】:
标签: authentication active-directory ldap authorization oracle-apex