您的位置 首页 asp.Net

使用ASP.NET Identity 2.0和MVC 5进行自定义单点登录

我正在使用Identity 2.0在MVC 5中重写我的MVC 4表单身份验证应用程序.

目前,该站点使用专有的单点登录方法,该方法从POST请求解密传入参数,并根据内容的有效性,使用FormsAuthentication.SetAuthCookie设置身份验证cookie并将用户重定向到安全内容.

既然我正在使用ASP.Net Identity,那么FormsAuthentication.SetAuthCookie功能的适当替代是什么?请记住,我不想将这些用户中的任何一个持久化到数据库中.它们应该存在于其令牌/ cookie中.

解决方法

得到它了!

我在
this helpful article找到了解决方案.

基本上,您创建一个ClaimsIdentity,然后使用OWINContext中的AuthenticationManager来“签名”身份并创建身份验证cookie.

像这样:

var claims = new List<Claim>();
claims.Add(new Claim(ClaimTypes.Name,"Brock"));
claims.Add(new Claim(ClaimTypes.Email,"brockallen@gmail.com"));
var id = new ClaimsIdentity(claims,DefaultAuthenticationTypes.ApplicationCookie);

var ctx = Request.GetOwinContext();
var authenticationManager = ctx.Authentication;
authenticationManager.SignIn(id);

关于作者: dawei

【声明】:金华站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

热门文章