1

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

<authentication mode="Windows" />
4

1 回答 1

2

你可以试试这个

如何:在 ASP.NET 2.0 中使用 Windows 身份验证

如何:在 ASP.NET 2.0 中通过 Active Directory 使用表单身份验证

编辑:这对我有用:

<!-- 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。您可以在此处找到有关使用 Active Directory 轻量级目录服务的更多信息。

于 2013-01-15T13:14:59.307 回答