我正在寻求切换到Active Directory进行身份验证和角色,但我不确定要用什么。
对于会员资格,我遇到了这两个身份验证选项:
有什么区别?一个人比另一个人有优势吗? 我只需要对用户进行身份验证并知道他们所处的角色,仅此而已。
对于角色,我更不清楚使用什么。
谢谢!
答案 0 :(得分:1)
要验证我发现只做这样的事情更简单:
using System.DirectoryServices.AccountManagement;
bool flag = false;
try
{
using (PrincipalContext principalContext = new PrincipalContext(ContextType.Domain))
{
flag = principalContext.ValidateCredentials("UserId", "Password");
}
}
catch (PrincipalServerDownException)
{
}
要获得角色,您可以查看以下答案:
https://stackoverflow.com/a/6247905/67566
我个人不会使用您提到的两个选项,因为我认为有更新的选项让生活更简单。
实例化PrincipleContext有各种选项,因此您可能需要查看:
答案 1 :(得分:0)
我的解决方案是不使用您建议的会员提供商。而是使用集成Windows身份验证。您不必为登录和退出用户而烦恼,因为它是通过SPNEGO完成的。用户只需访问该站点并自动登录(使用某些浏览器,否则会提示他们输入用户名/密码并为您处理)。然后,您可以通过页面后面任何代码上可用的User.Identity.Name属性找出登录的用户。
这是您可以找到的最简单的解决方案,因为它不会修改任何代码或配置文件。只需在IIS中查看一个简单的方框,您就可以了。