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
登录后 添加 Claims identity.AddClaim(new Claim(AbpClaimTypes.DataPermissions, 需要添加的值));
获取 AbpSession 的 DataPermissions