Как я могу узнать, принадлежит ли пользователь роли в активном каталоге - с помощью ColdFusion

Если я использую аутентификацию интеграции в IIS, как я могу определить, является ли текущий пользователь частью определенной роли Active Directory, используя ColdFusion.

Это было бы аналогично использованию метода IsInRole() объекта User в .net — как это можно сделать в ColdFusion


person Jeremy    schedule 05.08.2009    source источник


Ответы (3)


единственный способ сделать это - использовать cflap и запросить сервер Active Directory, чтобы получить список групп. после того, как вы получили список, вам нужно будет проанализировать его, чтобы увидеть, принадлежит ли этот пользователь к рассматриваемой группе. ниже приведен код, который я написал с некоторыми комментариями для людей на работе. ценности были изменены, чтобы защитить невиновных.

<!--- getting the user login id --->
<cfset variables.thisuser = ListLast(cgi.AUTH_USER, "\")>
<!--- this is the group they must be a memberof --->
<cfset variables.groupname = "CN=<the group to search for>">
<!--- list of all groups that the user belongs to, will be populated later --->
<cfset variables.grouplist = "">

<cftry>
    <cfldap action="query"
        name="myldap"
        attributes="memberOf"
        start="OU=<your ou>,DC=<your dc>,DC=<your dc>"
        scope="subtree"
        filter="(sAMAccountName=#variables.thisuser#)"
        server="<your AD server ip>"
        port="<your AD server port>"
        username="<network login if required>"
        password="<network password if required>">

    <cfset variables.grouplist = myldap.memberOf>

<cfcatch>
    </cfcatch>
</cftry>

<cfif FindNoCase(variables.groupname, variables.grouplist)>

    <cfcookie name="SecurityCookieName" value="">

</cfif>
person rip747    schedule 06.08.2009

В coldfusion для проверки роли пользователя вы должны использовать IsUserInRole()

http://cfquickdocs.com/#IsUserInRole

Изменить. На самом деле, надеюсь, я правильно понял, я ничего не знаю об IIS или активном каталоге. Насколько я понял, вы хотели проверить роль пользователя в Coldfusion.

Я думаю, вы ищете что-то вроде этого: http://vincentcollins.wordpress.com/2008/08/20/active-directory-ldap-authentication/ или здесь: http://coldfusion.sys-con.com/node/154225

person jyoseph    schedule 06.08.2009

В качестве продолжения SQL Server имеет поставщиков ADSI, которые позволяют вам создавать связанный сервер с вашими серверами LDAP.

Оттуда вы можете делать запросы ldap к вашему AD, и он возвращается, как и любой другой набор записей.

Я считаю, что сделать сложный запрос ldap немного проще, чем через CF.

person Byron70    schedule 13.08.2009