ABP 初探 之 AbpSession 扩展

      Abp的权限管理是基于 Identity,所有的扩展也是基于 claims 。claims 有许多默认属性,具体连接

  关于 Identity的详细介绍,可以参考园友博客

      继承 Microsoft.AspNet.Identity 的UserManager后,我们直接调用  await base.CreateIdentityAsync(user, authenticationType); 此方法完成登录,登录成功后可以获取

HttpContext.Current.User,通过HttpContext可以或取相关初始化的Claims信息
复制代码
ClaimsPrincipal principal = HttpContext.Current.User as ClaimsPrincipal;
if (null != principal)
{
   foreach (Claim claim in principal.Claims)
   {
      Response.Write("CLAIM TYPE: " + claim.Type + "; CLAIM VALUE: " + claim.Value + "</br>");
   }

}
复制代码

       了解基本功能后,可以根据需要进行扩展,

       定义 ClaimsType

       /// <summary> DataPermissions </summary>
       public const string DataPermissions = "http://www.aspnetboilerplate.com/identity/claims/dataPermissions";

       

       

       获取 Claims

       

       View Code

       登录后 添加 Claims    identity.AddClaim(new Claim(AbpClaimTypes.DataPermissions, 需要添加的值));

       

   获取 AbpSession 的 DataPermissions

       

posted @   @@@一统@@@  阅读(3861)  评论(2编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示