asp.net core 3.1 ClaimsPrincipal User 灵活使用
asp.net core 3.1 登录用的 ClaimsPrincipal User ,一般只有在 controller里才可以使用;但是为了方便抽出公共方法,则需要在单独的类里使用到 User.这时候,就需要先获取到HttpContext才可以用User。代码如下:
AppHttpContext.Current.User
详细代码如下:
/// <summary> /// 沐雪多商户版小程序商城系统 /// </summary> public class ControllerCommFun { public ControllerCommFun() { } public TenantLoginResp CurrentUser { get { TenantLoginResp currentUser = new TenantLoginResp(); if (AppHttpContext.Current.User.Identity.IsAuthenticated) { var claimIdentity = (ClaimsIdentity)AppHttpContext.Current.User.Identity; string key = claimIdentity.FindFirst("tenant_tokenid").Value; currentUser.id = LoginCredentials.TenantDecodeRedisKeyOfUserId(key); currentUser.user_name = claimIdentity.FindFirst("tenant_user_name").Value; currentUser.using_type = claimIdentity.FindFirst("tenant_using_type").Value; currentUser.role_id = ConvertHelper.LongParse(claimIdentity.FindFirst("tenant_role_id").Value, 0); } return currentUser; } } }
作者:沐雪
文章均系作者原创或翻译,如有错误不妥之处,欢迎各位批评指正。本文版权归作者和博客园共有,如需转载恳请注明。
如果您觉得阅读这篇博客让你有所收获,请点击右下方【推荐】
为之网-热爱软件编程 http://www.weizhi.cc/