标签:之七 Core ASP AddClaim Claim ToString new NET claimsIdentity
简介
一直以来都是使用identity来做验证,因为ABP已经集成好的,但到了.NET CORE 3.0后一直想去改变引用.net 版本的identity问题,使用的是.NET FRAMWORK 4.6,本文就是为了脱离identity而写的
问题解析
使用ABP的时候,登录的时候,使用的是identity的UserManager.CreateIdentityAsyn来创建,ABP的AbpSession调用的是从这里拿到userId的,所以想要扩展AbpSession,需要由自己定义才能实现
登陆
使用官方CookieAuthentication身份验证Web程序
startup
public IServiceProvider ConfigureServices(IServiceCollection services)
{
services.AddAuthentication(options =>
{
options.DefaultScheme = "Cookies";
}).AddCookie();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env, ILoggerFactory loggerFactory)
{
app.UseAuthentication();
}
ClaimsIdentity
var claimsIdentity = new ClaimsIdentity(CookieAuthenticationDefaults.AuthenticationScheme);
claimsIdentity.AddClaim(new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()));
claimsIdentity.AddClaim(new Claim(AbpClaimTypes.UserId, user.Id.ToString()));
claimsIdentity.AddClaim(new Claim(AbpClaimTypes.UserName, user.UserName.ToString()));
if (tenant != null)
{
claimsIdentity.AddClaim(new Claim(AbpClaimTypes.TenantId, tenant.Id.ToString()));
}
IHttpContextAccessor
//校验、登记成功后
await _contextAccessor.HttpContext.SignInAsync(new ClaimsPrincipal(result.Identity));
内容不详,仅供参考
参考
基于IHttpContextAccessor实现系统级别身份标识
标签:之七,Core,ASP,AddClaim,Claim,ToString,new,NET,claimsIdentity 来源: https://www.cnblogs.com/xcsn/p/13467085.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。