asp.net-mvc-5 – 带有LDAP身份验证的OWIN
这是我的情景.我有一个使用Owin作为身份验证机制的MVC 5应用程序.默认模板在Login操作中调用SignInManager.PasswordSignInAsync,我想覆盖它以使用LDAP来验证用户而不是查看数据库.
我可以通过以下方式进行验证: PrincipalContext dc = new PrincipalContext(ContextType.Domain,"domain.com","DC=domain,DC=com","user_name","password"); bool authenticated = dc.ValidateCredentials(userName,password); 然后我可以使用以下方法检索UserPrincipal: UserPrincipal user = UserPrincipal.FindByIdentity(dc,IdentityType.SamAccountName,userName); 但是,我被困在这里,我不知道如何继续签署用户.目标是在我登录用户之后,我可以访问User.Identity,包括用户所在的所有角色.实际上,应用程序的行为应该像使用Windows身份验证一样,但凭据由用户提供登录页面. 您可能会问为什么不直接使用Windows身份验证.该应用程序将从网络外部访问,但要求是使用AD身份验证和授权.因此我的困境. 任何建议都非常感谢. 谢谢. 解决方法
经过数小时的研究和反复试验,以下是我最终做的事情:
> AccountController.cs – 创建应用程序用户并登录 ApplicationUser usr = new ApplicationUser() { UserName = model.Email }; bool auth = await UserManager.CheckPasswordAsync(usr,model.Password); if (auth) { List claims = new List(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- Asp.Net Validaterequest False
- asp.net-mvc – ASP.NET MVC主页数据
- asp.net-mvc – EditorFor的Html(5)属性
- asp.net-mvc-3 – 用MVC构建一个大型项目软件
- Asp.net mvc验证用户登录之Forms实现详解
- asp.net – 访问asp:从代码背后的内容
- asp.net – dbo.TempGetStateItemExclusive3重复调用
- ASP.NET Web Forms jQuery
- asp.net-mvc-4 – 在一个StyleBundle中使用多个CDN链接
- asp.net中.aspx页面中各种符号的含义