2017-09-14 139 views
0

我们正在开发一个应用程序,它是内部应用程序,但必须可从Internet访问。我们使用OpenID Connect来验证用户身份。用户必须在我们的IAM平台(ISAM IBM Security Access Management)中拥有有效的帐户才能登录到应用程序。当用户浏览到应用程序时,他们被重定向到我们的IAM平台登录页面。一旦他们输入他们的凭证,他们将能够进入应用程序。基于AD组的授权

现在我们想要根据哪些AD组用户属于某种类型的授权。我们如何实现它?在用户通过身份验证并重定向到应用程序之后,应用程序是否需要从AD获取信息?怎么样?

+0

您用于OIDC的客户端堆栈是什么?为什么标记ADFS? – nzpcmad

回答

2

有两种选择。

1)要么只允许在适当的AD组中登录人员, ,在这种情况下,您的OpenID Connect必须能够从IAM请求组信息,或IAM设置为仅允许登录相应的AD组;

2)或在进入应用程序时检查AD组。

这通常可以在应用侧和特定的编程完成取决于应用,但通常应用程序需要使一个LDAP请求到AD,以检查是否用户是特定组的成员,如此:

How to write LDAP query to test if user is member of a group?

+0

关于选项1,我会说它不是关于应用程序的访问权限。所有在我们的IAM平台中拥有账户的用户都可以访问该应用程序。问题是我们可以做些什么来使属于AD group1的某些用户只能看到page1,page2和page3。而属于AD组2的用户只能看到第2,5和6页。 关于选项2,我们是否需要在应用程序端进行一些配置,即连接到域或其他东西。 – user217648

+0

@ user217648取决于您的详细设置。但通常LDAP查询必须使用某个AD帐户连接到LDAP服务器才能进行身份验证。所以你必须为你的应用程序设置AD帐户。并不意味着应用程序的服务器必须在域中,只是该应用程序提供AD帐户并在进行LDAP查询时通过。 – Gnudiff