在我们的 Intranet 应用程序中,如果用户未通过身份验证,我将使用该CFNTAuthenticate
标记。
但是,通常用户已经通过身份验证,我可以使用mid(cgi.REMOTE_USER, 8, 13)
. 我如何在不让他输入密码(因为他已经过身份验证,单点登录)的情况下检索他的组成员身份(或者至少如果他是特定组的成员)?
我希望我能够为您提供一个简单答案所需的所有信息(希望有一个简单的答案)。
在我们的 Intranet 应用程序中,如果用户未通过身份验证,我将使用该CFNTAuthenticate
标记。
但是,通常用户已经通过身份验证,我可以使用mid(cgi.REMOTE_USER, 8, 13)
. 我如何在不让他输入密码(因为他已经过身份验证,单点登录)的情况下检索他的组成员身份(或者至少如果他是特定组的成员)?
我希望我能够为您提供一个简单答案所需的所有信息(希望有一个简单的答案)。
您可以使用任何 Active Directory 帐户来检索其他用户的组成员身份。我有一个用于查找组信息的 ColdFusion 特定域帐户。该帐户不需要 Active Directory 中的任何特殊权限。
检查直接组成员身份很简单。将此用作 LDAP 查询 ( <cfldap>
):
(&(samAccountName=#userAccount#)(memberOf=#distinguishedNameOfGroup#))
如果显示为空,则用户不是该组的成员。
重要提示:userAccount
和的值distinguishedNameOfGroup
必须先转义,然后才能在过滤器中使用它们。请参阅MSDN 页面上解释搜索过滤器语法的特殊字符图表。
检查嵌套组成员身份(即,用户在要检查的组的子组中)相对复杂。