使用Windows身份验证与Active Directory轻量级目录服务?

时间:2013-01-15 10:29:33

标签: asp.net adlds

我正在尝试在ASP.net应用程序中使用AD轻量级目录服务进行用户身份验证,并且不想使用Forms身份验证。有没有办法使用Windows身份验证对其进行身份验证。

<authentication mode="Windows" />

1 个答案:

答案 0 :(得分:2)

你可以试试这个

How To: Use Windows Authentication in ASP.NET 2.0

How To: Use Forms Authentication with Active Directory in ASP.NET 2.0

编辑: 这对我有用:

<!-- web.config -->
...
<system.web>
...     
    <compilation debug="true">
        <assemblies>
            <add assembly="System.DirectoryServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
        </assemblies>
    </compilation>

    <authentication mode="Windows"/>
    <identity impersonate="true"/>

    <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm">
        <error statusCode="403" redirect="NoAccess.htm" />
        <error statusCode="404" redirect="FileNotFound.htm" />
    </customErrors>

    <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>  

    <authorization>
        <deny users="?"/>
        <allow users="*"/>
    </authorization>
</system.web>
...

然后在代码中

//page.cs
...
string userName = HttpContext.Current.User.Identity.Name;
...

您应该可以使用DirectoryEntry Class等自定义代码,例如Enumerating Users and Groups。您可以在此处找到有关Using Active Directory Lightweight Directory Services的更多信息。