asp.net – ASP核心:如何设置httpContext.User?
发布时间:2020-12-15 19:52:16 所属栏目:asp.Net 来源:网络整理
导读:我用令牌编写用于身份验证的中间件. (不要问我:“为什么?”). ...private UserManagerApplicationUser userManager;private RequestDelegate next;private WareHouseDbContext context; ...public async Task Invoke(HttpContext httpContext){ var header
我用令牌编写用于身份验证的中间件. (不要问我:“为什么?”).
... private UserManager<ApplicationUser> userManager; private RequestDelegate next; private WareHouseDbContext context; ... public async Task Invoke(HttpContext httpContext) { var header = httpContext.Request.Headers.Where(x => x.Key == "Authorization"); if (header.Count() == 1) { var token = header.First().Value.First(); if (token.Contains("Bearer")) { var name = TokenEncryptor.Decrypt(token.Replace("Bearer ","")); var user = context.Users.FirstOrDefault(x => x.UserName == name); if (user != null) { httpContext.User = user; // ???? how do this ???/ } } } await next.Invoke(httpContext); } 请回答我如何设置httpContext.User? 解决方法
你必须像这样创建IPrincipal对象
var user = new GenericPrincipal(new ClaimsIdentity(userData.Username),userData.Roles); httpContext.User = user; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – 用于Kendo网格模板中的循环
- asp.net-mvc – Url.Action是编码参数值
- asp.net-mvc – 迷你探查器不显示ajax请求信息?
- asp.net-mvc – 可扩展的SignalR Azure – 在哪里放置Signa
- asp.net-mvc – MVC捆绑:错误403
- ASP.NET – 在Page_Pre_init()或Page_Init()或Page_Load()中
- jQuery validate 根据 asp.net MVC的验证提取简单快捷的验证
- Asp.net MVC scheduler的实现方法详解
- asp.net-ajax – ASP.Net AJAX UpdatePanel无法触发Selecte
- 在ASP.NET中的JQuery FullCalendar实现
推荐文章
站长推荐
- asp.net-web-api – 什么时候使用HttpMessageHan
- asp.net – 我可以信任从ServerVariables [“REM
- ASP.NET:这个HttpModule有什么作用? System.Se
- asp.net-mvc – 如果使用LINQ to SQL,还有什么理
- asp.net-core – 用于ASP.NET 5的Web服务器,无需
- ASP.NET自定义错误,除了404错误,
- asp.net-mvc – 什么是防伪令牌盐的使用?
- asp.net – 发布网站项目时Temp路径太长
- 谈谈ASP.NET Core中的ResponseCaching
- asp.net – 通过邮件发送wcf服务消费表单数据
热点阅读