我需要为我们的 Web 应用程序构建 Windows 身份验证。我们计划创建本地工作组(在 Windows 2008 Server 上)来管理用户而不是 Active Directory。我们的理由是,通过 AD 创建组和移动用户需要几个月的时间(我们的客户希望我们走这条路)。是否可以为 asp.net 应用程序设置 Windows 身份验证并针对本地工作组验证用户凭据?请记住,我们会尝试将他们的登录名与我们的本地工作组匹配。
问问题
1352 次
1 回答
3
您可以使用 AspNetWindowsTokenRoleProvider。这使得 ASP.net 使用 Windows 本地组。
在你的网络配置中做这样的事情。
<authentication> section enables configuration
of the security authentication mode used by
ASP.NET to identify an incoming user.
--> <authentication mode="Windows"/>
<identity impersonate="false"/>
<authorization>
</authorization>
<roleManager enabled="true"
defaultProvider="AspNetWindowsTokenRoleProvider"/>
然后在您的 aspx 中,您可以检查用户是否存在于角色中。我把它放在我的母版页中。
If Not Roles.IsUserInRole(Context.Current.User.identity.name, "Managers") Then
'label1.Text = "You are not authorized to view user roles."
Response.Redirect(Request.ApplicationPath & "\logout.html")
end if
您可以在使用 WindowsTokenRoleProvider 下的 Microsoft http://msdn.microsoft.com/en-us/library/ff647401.aspx的此链接中阅读更多信息
于 2014-07-07T19:12:06.800 回答