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