博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
.Net Core Identity外面使用Cookie中间件
阅读量:4943 次
发布时间:2019-06-11

本文共 1674 字,大约阅读时间需要 5 分钟。

1、在 app.UseMvc 前面加上app.UseCookieAuthentication

app.UseCookieAuthentication(new CookieAuthenticationOptions()            {                AuthenticationScheme = "IdeaCoreUser",                LoginPath = new PathString("/Login/Login/"),                AccessDeniedPath = new PathString("/Account/Forbidden/"),                AutomaticAuthenticate = true,                AutomaticChallenge = true,                CookieDomain=""            });

 2、登录

var claims = new List
{ new Claim("FullName", customer.Username,ClaimValueTypes.String), new Claim("Role", "注册用户",ClaimValueTypes.String),};var userIdentity = new ClaimsIdentity(claims, "Customer");var userPrincipal = new ClaimsPrincipal(userIdentity);HttpContext.Authentication.SignInAsync("IdeaCoreUser", userPrincipal, new AuthenticationProperties { ExpiresUtc = DateTime.UtcNow.AddMinutes(20), IsPersistent = false, AllowRefresh = false });

 3、退出登录

HttpContext.Authentication.SignOutAsync("IdeaCoreUser");

 

4、判断是否已经登录

var bol =HttpContext.User.Identity.IsAuthenticated;

 

5、使用IIdentity拓展方法来获取存的值

public static class IdentityExtension    {        public static string FullName(this IIdentity identity)        {            var claim = ((ClaimsIdentity)identity).FindFirst("FullName");            return (claim != null) ? claim.Value : string.Empty;        }        public static string Role(this IIdentity identity)        {            var claim = ((ClaimsIdentity)identity).FindFirst("Role");            return (claim != null) ? claim.Value : string.Empty;        }    }

 

var fullname = HttpContext.User.Identity.FullName();

 

转载于:https://www.cnblogs.com/ideacore/p/6282976.html

你可能感兴趣的文章
echarts地图点定位的问题
查看>>
springBoot整合mybatis、jsp 或 HTML
查看>>
新浪微博---首页技术点二.轮播图的实现
查看>>
6.高性能NIO框架netty
查看>>
线程锁
查看>>
Oracle语句补充
查看>>
vuex使用方法
查看>>
eclipse添加easyExport插件,打开本地文件
查看>>
Docker CE 安装
查看>>
HR面试总结
查看>>
Yahoo!团队:网站性能优化的35条黄金守则(转)
查看>>
redis 基本操作
查看>>
Windows下安装Redis服务
查看>>
Sublime的Package Control的安装
查看>>
【HDOJ】2155 小黑的镇魂曲
查看>>
Mininet实验 脚本实现控制交换机行为
查看>>
c# 获取程序运行的根目录
查看>>
Java之匿名内部类详解
查看>>
adb 命令模拟按键事件
查看>>
Codeforces Round #436 D. Make a Permutation!
查看>>