向具有LDAP身份验证的用户授予授权 [英] Grant Authorization to users with LDAP Authentication

查看:4
本文介绍了向具有LDAP身份验证的用户授予授权的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我在Oracle Apex(v21.1)上像这样设置了一个LDAP目录身份验证方案,并在我的数据库上创建了ACL:

如果我尝试测试ldap登录,它正在工作(使用我的名字。姓氏)。出于保密目的,我替换了IP地址和域名。

我可以连接到我的应用程序,但我无法访问它,我无法登录主页,因为我需要基于用户所在组的授权方案。

在我的公司中,有多个离职人员,他们每个人在Microsoft Active Directory中都有一个组,可以让他们访问应用程序,每个组的名称如下:GRP_INVITEIRE_Dpt1、GRP_INVITIRE_Dpt2、GRP_INVITEIRE_Dpt3、...

我尝试基于本教程创建授权方案: https://blog.jonas-hellmann.de/authorization-in-oracle-apex-with-ldap-groups/

我尝试修改了函数的代码,如您在本教程的第2.3章中所见,以下是我是如何做到的:

我的授权方案如下:

正如您在屏幕上看到的,我必须写入确切的组名才能访问我的应用程序,但我希望能够检查用户是否属于以";grp_inventaire_";开头的组,无论他是哪个部门。

不幸的是,有些事情似乎已经很奇怪了。为什么需要在函数中静态写下密码?如何动态地将其放在基于LDAP身份验证方案的函数中?但是,我知道可以对用户名使用p_username参数。

*最后,如果我尝试连接到我的应用程序,我会收到授权方案的错误消息:*

总结一下我要找的东西:

  • 基于用户登录的授权方案
  • 检查用户是否属于以";grp_inventaire_";开头的组
  • 该函数需要具有动态连接用户的凭据

如需更多详细信息,请随时提问。

推荐答案

您不需要这样检查用户的安全组吗?

DECLARE VAL BOOLEAN;
BEGIN
  VAL := APEX_UTIL.CURRENT_USER_IN_GROUP('xxx');
RETURN VAL;
END;

这篇关于向具有LDAP身份验证的用户授予授权的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆