public async Task AuthorizeAsync(IEnumerable <IAbpAuthorizeAttribute> authorizeAttributes) { if (!AbpSession.UserId.HasValue) { throw new AbpAuthorizationException(LocalizationManager.GetString(AbpConsts.LocalizationSourceName, "CurrentUserDidNotLoginToTheApplication")); } foreach (var authorizeAttribute in authorizeAttributes) { await PermissionChecker.AuthorizeAsync(authorizeAttribute.RequireAllPermissions, authorizeAttribute.Permissions); } }
protected virtual async Task CheckPermissionAsync(string permissionName) { //if (string.IsNullOrWhiteSpace(permissionName)) // return; //if (!await IsGrantedAsync(permissionName)) // throw new UserFriendlyException(L("UnAuthorized")); //使用父类的权限检查可以得到一个正常的未授权响应 if (!string.IsNullOrEmpty(permissionName)) { await PermissionChecker.AuthorizeAsync(permissionName); } }
public override async Task AuthorizeAsync(IEnumerable <IAbpAuthorizeAttribute> authorizeAttributes) { if (!_authConfiguration.IsEnabled) { return; } // if (!AbpSession.UserId.HasValue) // { // throw new AbpAuthorizationException( // LocalizationManager.GetString(AbpConsts.LocalizationSourceName, "CurrentUserDidNotLoginToTheApplication") // ); // } foreach (var authorizeAttribute in authorizeAttributes) { await PermissionChecker.AuthorizeAsync(authorizeAttribute.RequireAllPermissions, authorizeAttribute.Permissions); } }