我正在尝试在 ASP.net 应用程序中使用 AD 轻量级目录服务进行用户身份验证,并且不想使用表单身份验证。有什么方法可以使用 Windows 身份验证对其进行身份验证。
<authentication mode="Windows" />
你可以试试这个
如何:在 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 轻量级目录服务的更多信息。