Browse Source

权限标签设置在Service层

pull/11/head 4.4.0.15
王军 4 years ago
parent
commit
c91c6e01d7
  1. 15
      aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.HttpApi/Notifications/NotificationController.cs
  2. 10
      aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs
  3. 2
      aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissionDefinitionProvider.cs
  4. 3
      aspnet-core/services/src/CompanyName.ProjectName.Application/AuditLogs/AuditLogAppService.cs
  5. 3
      aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/CompanyNameProjectNameLogAppService.cs
  6. 6
      aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/ApiResources/ApiResourceAppService.cs
  7. 27
      aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/ApiScopes/ApiScopeAppService.cs
  8. 14
      aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/Clients/IdentityServerClientAppService.cs
  9. 6
      aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/IdentityResources/IdentityResourceAppService.cs
  10. 5
      aspnet-core/services/src/CompanyName.ProjectName.Application/Roles/RoleAppService.cs
  11. 4
      aspnet-core/services/src/CompanyName.ProjectName.Application/Roles/RolePermissionAppService.cs
  12. 3
      aspnet-core/services/src/CompanyName.ProjectName.Application/Settings/SettingAppService.cs
  13. 42
      aspnet-core/services/src/CompanyName.ProjectName.Application/Users/AccountAppService.cs
  14. 7
      aspnet-core/services/src/CompanyName.ProjectName.Application/Users/UserAppService.cs
  15. 20
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/ApiResourceController.cs
  16. 20
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/ApiScopeController.cs
  17. 41
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/ClientController.cs
  18. 17
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/IdentityResourceController.cs
  19. 1
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/AuditLogController.cs
  20. 1
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/CompanyNameProjectNameLogController.cs
  21. 2
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/PermissionController.cs
  22. 8
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/RoleController.cs
  23. 7
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/UserController.cs
  24. 6
      aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Tenants/TenantController.cs
  25. 5
      aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/SharedHostingMicroserviceModule.cs
  26. 2
      vben271/package.json

15
aspnet-core/modules/NotificationManagement/src/CompanyName.ProjectName.NotificationManagement.HttpApi/Notifications/NotificationController.cs

@ -11,7 +11,6 @@ namespace CompanyName.ProjectName.NotificationManagement.Notifications
[Route("Notification")]
public class NotificationController : AbpController, IApplicationService
{
private readonly INotificationAppService _notificationAppService;
public NotificationController(
@ -27,8 +26,9 @@ namespace CompanyName.ProjectName.NotificationManagement.Notifications
/// <param name="listInput"></param>
/// <returns></returns>
[HttpPost("Text")]
[SwaggerOperation(summary: "分页查询普通消息", Tags = new[] {"Notification"})]
public Task<PagedResultDto<PagingNotificationListOutput>> GetPageTextNotificationByUserIdAsync(
[SwaggerOperation(summary: "分页查询普通消息", Tags = new[] { "Notification" })]
public Task<PagedResultDto<PagingNotificationListOutput>>
GetPageTextNotificationByUserIdAsync(
PagingNotificationListInput listInput)
{
return _notificationAppService.GetPageTextNotificationByUserIdAsync(listInput);
@ -40,22 +40,23 @@ namespace CompanyName.ProjectName.NotificationManagement.Notifications
/// <param name="listInput"></param>
/// <returns></returns>
[HttpPost("BroadCast")]
[SwaggerOperation(summary: "分页查询广播消息", Tags = new[] {"Notification"})]
public Task<PagedResultDto<PagingNotificationListOutput>> GetPageBroadCastNotificationByUserIdAsync(
[SwaggerOperation(summary: "分页查询广播消息", Tags = new[] { "Notification" })]
public Task<PagedResultDto<PagingNotificationListOutput>>
GetPageBroadCastNotificationByUserIdAsync(
PagingNotificationListInput listInput)
{
return _notificationAppService.GetPageBroadCastNotificationByUserIdAsync(listInput);
}
[HttpPost("Read")]
[SwaggerOperation(summary: "消息设置为已读", Tags = new[] {"Notification"})]
[SwaggerOperation(summary: "消息设置为已读", Tags = new[] { "Notification" })]
public Task SetReadAsync(SetReadInput input)
{
return _notificationAppService.SetReadAsync(input);
}
[HttpPost("Create")]
[SwaggerOperation(summary: "创建消息-测试使用", Tags = new[] {"Notification"})]
[SwaggerOperation(summary: "创建消息-测试使用", Tags = new[] { "Notification" })]
public Task CreateAsync(CreateNotificationInput input)
{
return _notificationAppService.CreateAsync(input);

10
aspnet-core/services/host/CompanyName.ProjectName.HttpApi.Host/ProjectNameHttpApiHostModule.cs

@ -197,7 +197,7 @@ namespace CompanyName.ProjectName
currentContext.Request.Cookies[
ProjectNameHttpApiHostConsts.DefaultCookieName];
if (!accessToken.IsNullOrWhiteSpace())
if (accessToken.IsNullOrWhiteSpace())
{
return Task.CompletedTask;
}
@ -214,11 +214,9 @@ namespace CompanyName.ProjectName
if (path.ToString().StartsWith("/hangfire") ||
path.ToString().StartsWith("/cap"))
{
currentContext.HttpContext.Response.Headers.Remove(
"X-Frame-Options");
currentContext.Token = !string.IsNullOrEmpty(accessToken)
? accessToken
: accessToken;
// currentContext.HttpContext.Response.Headers.Remove(
// "X-Frame-Options");
currentContext.Token = accessToken;
}

2
aspnet-core/services/src/CompanyName.ProjectName.Application.Contracts/Permissions/ProjectNamePermissionDefinitionProvider.cs

@ -16,8 +16,6 @@ namespace CompanyName.ProjectName.Permissions
var auditManagement =
abpIdentityGroup.AddPermission(ProjectNamePermissions.SystemManagement.AuditLog, L("Permission:AuditLogManagement"));
var esManagement = abpIdentityGroup.AddPermission(ProjectNamePermissions.SystemManagement.ES, L("Permission:ESManagement"));
#region IdentityServer

3
aspnet-core/services/src/CompanyName.ProjectName.Application/AuditLogs/AuditLogAppService.cs

@ -1,10 +1,13 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.AuditLogging;
namespace CompanyName.ProjectName.AuditLogs
{
[Authorize(Policy = ProjectNamePermissions.SystemManagement.AuditLog)]
public class AuditLogAppService : ProjectNameAppService, IAuditLogAppService
{
private readonly IAuditLogRepository _auditLogRepository;

3
aspnet-core/services/src/CompanyName.ProjectName.Application/ElasticSearchs/CompanyNameProjectNameLogAppService.cs

@ -2,9 +2,12 @@
using CompanyName.ProjectName.ElasticsearchRepository;
using CompanyName.ProjectName.ElasticsearchRepository.Dto;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
namespace CompanyName.ProjectName.ElasticSearchs
{
[Authorize(Policy = ProjectNamePermissions.SystemManagement.ES)]
public class CompanyNameProjectNameLogAppService:ProjectNameAppService,ICompanyNameProjectNameLogAppService
{
private readonly ICompanyNameProjectNameLogRepository _companyNameProjectNameLogRepository;

6
aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/ApiResources/ApiResourceAppService.cs

@ -3,11 +3,14 @@ using System.Threading.Tasks;
using CompanyName.ProjectName.IdentityServer;
using CompanyName.ProjectName.IdentityServers.Dtos;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.IdentityServer.ApiResources;
namespace CompanyName.ProjectName.IdentityServers.ApiResources
{
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Default)]
public class ApiResourceAppService : ProjectNameAppService, IApiResourceAppService
{
private readonly IdenityServerApiResourceManager _idenityServerApiResourceManager;
@ -43,6 +46,7 @@ namespace CompanyName.ProjectName.IdentityServers.ApiResources
/// 新增 ApiResource
/// </summary>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Create)]
public Task CreateAsync(CreateApiResourceInput input)
{
return _idenityServerApiResourceManager.CreateAsync(
@ -61,6 +65,7 @@ namespace CompanyName.ProjectName.IdentityServers.ApiResources
/// 删除 ApiResource
/// </summary>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Delete)]
public async Task DeleteAsync(IdInput input)
{
await _idenityServerApiResourceManager.DeleteAsync(input.Id);
@ -70,6 +75,7 @@ namespace CompanyName.ProjectName.IdentityServers.ApiResources
/// 更新 ApiResource
/// </summary>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Update)]
public Task UpdateAsync(UpdateApiResourceInput input)
{
return _idenityServerApiResourceManager.UpdateAsync(

27
aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/ApiScopes/ApiScopeAppService.cs

@ -5,22 +5,28 @@ using System.Threading.Tasks;
using CompanyName.ProjectName.IdentityServer;
using CompanyName.ProjectName.IdentityServers.ApiScopes.Dtos;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.IdentityServer.ApiScopes;
namespace CompanyName.ProjectName.IdentityServers.ApiScopes
{
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Default)]
public class ApiScopeAppService : ProjectNameAppService, IApiScopeAppService
{
private readonly IdenityServerApiScopeManager _idenityServerApiScopeManager;
private readonly IdentityResourceManager _identityResourceManager;
public ApiScopeAppService(IdenityServerApiScopeManager idenityServerApiScopeManager, IdentityResourceManager identityResourceManager)
public ApiScopeAppService(IdenityServerApiScopeManager idenityServerApiScopeManager,
IdentityResourceManager identityResourceManager)
{
_idenityServerApiScopeManager = idenityServerApiScopeManager;
_identityResourceManager = identityResourceManager;
}
public async Task<PagedResultDto<PagingApiScopeListOutput>> GetListAsync(PagingApiScopeListInput input)
public async Task<PagedResultDto<PagingApiScopeListOutput>> GetListAsync(
PagingApiScopeListInput input)
{
var list = await _idenityServerApiScopeManager.GetListAsync(
input.SkipCount,
@ -32,18 +38,23 @@ namespace CompanyName.ProjectName.IdentityServers.ApiScopes
ObjectMapper.Map<List<ApiScope>, List<PagingApiScopeListOutput>>(list));
}
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Create)]
public Task CreateAsync(CreateApiScopeInput input)
{
return _idenityServerApiScopeManager.CreateAsync(input.Name, input.DisplayName, input.Description,
return _idenityServerApiScopeManager.CreateAsync(input.Name, input.DisplayName,
input.Description,
input.Enabled, input.Required, input.Emphasize, input.ShowInDiscoveryDocument);
}
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Update)]
public Task UpdateAsync(UpdateCreateApiScopeInput input)
{
return _idenityServerApiScopeManager.UpdateAsync(input.Name, input.DisplayName, input.Description,
return _idenityServerApiScopeManager.UpdateAsync(input.Name, input.DisplayName,
input.Description,
input.Enabled, input.Required, input.Emphasize, input.ShowInDiscoveryDocument);
}
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Delete)]
public Task DeleteAsync(IdInput input)
{
return _idenityServerApiScopeManager.DeleteAsync(input.Id);
@ -51,11 +62,13 @@ namespace CompanyName.ProjectName.IdentityServers.ApiScopes
public async Task<List<FromSelector<string, string>>> FindAllAsync()
{
var result=new List<FromSelector<string, string>>();
var result = new List<FromSelector<string, string>>();
var apiScopes = await _idenityServerApiScopeManager.FindAllAsync();
result.AddRange(apiScopes.Select(e => new FromSelector<string, string>(e.Name, e.DisplayName)).ToList());
result.AddRange(apiScopes
.Select(e => new FromSelector<string, string>(e.Name, e.DisplayName)).ToList());
var identityResoure = await _identityResourceManager.GetAllAsync();
result.AddRange(identityResoure.Select(e => new FromSelector<string, string>(e.Name, e.DisplayName)).ToList());
result.AddRange(identityResoure
.Select(e => new FromSelector<string, string>(e.Name, e.DisplayName)).ToList());
return result;
}
}

14
aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/Clients/IdentityServerClientAppService.cs

@ -2,11 +2,14 @@
using System.Threading.Tasks;
using CompanyName.ProjectName.IdentityServer;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.IdentityServer.Clients;
namespace CompanyName.ProjectName.IdentityServers.Clients
{
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Default)]
public class IdentityServerClientAppService : ProjectNameAppService, IIdentityServerClientAppService
{
private readonly IdenityServerClientManager _idenityServerClientManager;
@ -36,6 +39,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Create)]
public Task CreateAsync(CreateClientInput input)
{
return _idenityServerClientManager.CreateAsync(input.ClientId, input.ClientName, input.Description, input.AllowedGrantTypes);
@ -45,6 +49,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// 删除client
/// </summary>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Delete)]
public Task DeleteAsync(IdInput input)
{
return _idenityServerClientManager.DeleteAsync(input.Id);
@ -54,6 +59,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// 更新基本信息
/// </summary>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task UpdateBasicDataAsync(UpdataBasicDataInput input)
{
return _idenityServerClientManager.UpdateBasicDataAsync(
@ -106,6 +112,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// 更新client scopes
/// </summary>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task UpdateScopesAsync(UpdateScopeInput input)
{
return _idenityServerClientManager.UpdateScopesAsync(input.ClientId, input.Scopes);
@ -114,6 +121,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// <summary>
/// 新增回调地址
/// </summary>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task AddRedirectUriAsync(AddRedirectUriInput input)
{
return _idenityServerClientManager.AddRedirectUriAsync(input.ClientId, input.Uri);
@ -122,6 +130,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// <summary>
/// 删除回调地址
/// </summary>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task RemoveRedirectUriAsync(RemoveRedirectUriInput input)
{
return _idenityServerClientManager.RemoveRedirectUriAsync(input.ClientId, input.Uri);
@ -130,6 +139,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// <summary>
/// 新增Logout回调地址
/// </summary>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task AddLogoutRedirectUriAsync(AddRedirectUriInput input)
{
return _idenityServerClientManager.AddLogoutRedirectUriAsync(input.ClientId, input.Uri);
@ -138,6 +148,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// <summary>
/// 删除Logout回调地址
/// </summary>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task RemoveLogoutRedirectUriAsync(RemoveRedirectUriInput input)
{
return _idenityServerClientManager.RemoveLogoutRedirectUriAsync(input.ClientId, input.Uri);
@ -146,6 +157,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// <summary>
/// 添加cors
/// </summary>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task AddCorsAsync(AddCorsInput input)
{
return _idenityServerClientManager.AddCorsAsync(input.ClientId, input.Origin);
@ -154,6 +166,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// <summary>
/// 删除cors
/// </summary>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
public Task RemoveCorsAsync(RemoveCorsInput input)
{
return _idenityServerClientManager.RemoveCorsAsync(input.ClientId, input.Origin);
@ -164,6 +177,7 @@ namespace CompanyName.ProjectName.IdentityServers.Clients
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Enable)]
public Task EnabledAsync(EnabledInput input)
{
return _idenityServerClientManager.EnabledAsync(input.ClientId, input.Enabled);

6
aspnet-core/services/src/CompanyName.ProjectName.Application/IdentityServers/IdentityResources/IdentityResourceAppService.cs

@ -4,11 +4,14 @@ using CompanyName.ProjectName.IdentityServer;
using CompanyName.ProjectName.IdentityServers.IdentityResources;
using CompanyName.ProjectName.IdentityServers.IdentityResources.Dtos;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.IdentityServer.IdentityResources;
namespace CompanyName.ProjectName.IdentityServers.Mappers.IdentityResources
{
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Default)]
public class IdentityResourceAppService : ProjectNameAppService, IIdentityResourceAppService
{
private readonly IdentityResourceManager _identityResourceManager;
@ -47,6 +50,7 @@ namespace CompanyName.ProjectName.IdentityServers.Mappers.IdentityResources
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Create)]
public Task CreateAsync(CreateIdentityResourceInput input)
{
return _identityResourceManager.CreateAsync(input.Name, input.DisplayName, input.Description,
@ -58,6 +62,7 @@ namespace CompanyName.ProjectName.IdentityServers.Mappers.IdentityResources
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Update)]
public Task UpdateAsync(UpdateIdentityResourceInput input)
{
return _identityResourceManager.UpdateAsync(input.Name, input.DisplayName, input.Description,
@ -69,6 +74,7 @@ namespace CompanyName.ProjectName.IdentityServers.Mappers.IdentityResources
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Delete)]
public Task DeleteAsync(IdInput input)
{
return _identityResourceManager.DeleteAsync(input.Id);

5
aspnet-core/services/src/CompanyName.ProjectName.Application/Roles/RoleAppService.cs

@ -4,6 +4,7 @@ using System.Linq;
using System.Threading.Tasks;
using CompanyName.ProjectName.Roles.Dtos;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;
using Volo.Abp.Identity;
@ -11,6 +12,7 @@ using Volo.Abp.PermissionManagement;
namespace CompanyName.ProjectName.Roles
{
[Authorize(Policy = IdentityPermissions.Roles.Default)]
public class RoleAppService : ProjectNameAppService, IRoleAppService
{
private readonly IIdentityRoleAppService _identityRoleAppService;
@ -67,6 +69,7 @@ namespace CompanyName.ProjectName.Roles
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(IdentityPermissions.Roles.Create)]
public async Task<IdentityRoleDto> CreateAsync(IdentityRoleCreateDto input)
{
return await _identityRoleAppService.CreateAsync(input);
@ -77,6 +80,7 @@ namespace CompanyName.ProjectName.Roles
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(IdentityPermissions.Roles.Update)]
public async Task<IdentityRoleDto> UpdateAsync(UpdateRoleInput input)
{
return await _identityRoleAppService.UpdateAsync(input.RoleId, input.RoleInfo);
@ -86,6 +90,7 @@ namespace CompanyName.ProjectName.Roles
/// <summary>
/// 删除角色
/// </summary>
[Authorize(IdentityPermissions.Roles.Delete)]
public async Task DeleteAsync(IdInput input)
{
await _identityRoleAppService.DeleteAsync(input.Id);

4
aspnet-core/services/src/CompanyName.ProjectName.Application/Roles/RolePermissionAppService.cs

@ -2,10 +2,13 @@
using System.Linq;
using System.Threading.Tasks;
using CompanyName.ProjectName.Roles.Dtos;
using Microsoft.AspNetCore.Authorization;
using Volo.Abp.Identity;
using Volo.Abp.PermissionManagement;
namespace CompanyName.ProjectName.Roles
{
[Authorize]
public class RolePermissionAppService : ProjectNameAppService, IRolePermissionAppService
{
private readonly IPermissionAppService _rolePermissionAppService;
@ -30,6 +33,7 @@ namespace CompanyName.ProjectName.Roles
/// 更新权限
/// </summary>
/// <param name="input"></param>
[Authorize(IdentityPermissions.Roles.ManagePermissions)]
public async Task UpdatePermissionAsync(UpdateRolePermissionsInput input)
{
await _rolePermissionAppService.UpdateAsync(input.ProviderName, input.ProviderKey,

3
aspnet-core/services/src/CompanyName.ProjectName.Application/Settings/SettingAppService.cs

@ -1,10 +1,13 @@
using System.Collections.Generic;
using System.Threading.Tasks;
using EasyAbp.Abp.SettingUi;
using EasyAbp.Abp.SettingUi.Authorization;
using EasyAbp.Abp.SettingUi.Dto;
using Microsoft.AspNetCore.Authorization;
namespace CompanyName.ProjectName.Settings
{
[Authorize(Policy = SettingUiPermissions.ShowSettingPage)]
public class SettingAppService : ProjectNameAppService, ISettingAppService
{
private readonly ISettingUiAppService _settingUiAppService;

42
aspnet-core/services/src/CompanyName.ProjectName.Application/Users/AccountAppService.cs

@ -25,7 +25,10 @@ namespace CompanyName.ProjectName.Users
{
private readonly IdentityUserManager _userManager;
private readonly JwtOptions _jwtOptions;
private readonly Microsoft.AspNetCore.Identity.SignInManager<Volo.Abp.Identity.IdentityUser> _signInManager;
private readonly Microsoft.AspNetCore.Identity.SignInManager<Volo.Abp.Identity.IdentityUser>
_signInManager;
private readonly IHttpClientFactory _httpClientFactory;
private readonly ICurrentTenant _currentTenant;
private readonly IHttpContextAccessor _contextAccessor;
@ -35,7 +38,8 @@ namespace CompanyName.ProjectName.Users
IdentityUserManager userManager,
IOptionsSnapshot<JwtOptions> jwtOptions,
Microsoft.AspNetCore.Identity.SignInManager<IdentityUser> signInManager,
IHttpClientFactory httpClientFactory, ICurrentTenant currentTenant, IHttpContextAccessor contextAccessor)
IHttpClientFactory httpClientFactory, ICurrentTenant currentTenant,
IHttpContextAccessor contextAccessor)
{
_userManager = userManager;
_jwtOptions = jwtOptions.Value;
@ -48,9 +52,8 @@ namespace CompanyName.ProjectName.Users
public async Task<LoginOutput> LoginAsync(LoginInput input)
{
try
{
var result = await _signInManager.PasswordSignInAsync(input.Name, input.Password, false, true);
var result =
await _signInManager.PasswordSignInAsync(input.Name, input.Password, false, true);
if (result.IsLockedOut)
{
throw new UserFriendlyException("当前用户已被锁定");
@ -61,34 +64,31 @@ namespace CompanyName.ProjectName.Users
throw new UserFriendlyException("用户名或者密码错误");
}
var s = _currentTenant.Id;
var user = await _userManager.FindByNameAsync(input.Name);
return await BuildResult(user);
}
catch (Exception ex)
{
throw new UserFriendlyException(ex.Message);
}
}
public async Task<LoginOutput> StsLoginAsync(string accessToken)
{
// 通过access token 获取用户信息,id4没有把角色信息带过来
Dictionary<string, string> headers = new Dictionary<string, string> {{"Authorization", $"Bearer {accessToken}"}};
var response = await _httpClientFactory.GetAsync<LoginStsOutput>(HttpClientNameConsts.Sts, "connect/userinfo", headers);
// 通过access token 获取用户信息
Dictionary<string, string> headers = new Dictionary<string, string>
{ { "Authorization", $"Bearer {accessToken}" } };
var response =
await _httpClientFactory.GetAsync<LoginStsOutput>(HttpClientNameConsts.Sts,
"connect/userinfo", headers);
var user = await _userManager.FindByNameAsync(response.name);
return await BuildResult(user);
}
private async Task<LoginOutput> BuildResult(IdentityUser user)
{
if (user.LockoutEnabled) throw new Exception("当前用户已被锁定");
if (user.LockoutEnabled) throw new UserFriendlyException("当前用户已被锁定");
var roles = await _userManager.GetRolesAsync(user);
if (roles == null || roles.Count == 0) throw new Exception("当前用户未分配角色");
var token = GenerateJwt(user.Id, user.UserName, user.Name, user.Email, user.TenantId.ToString(), roles.ToList());
if (roles == null || roles.Count == 0) throw new UserFriendlyException("当前用户未分配角色");
var token = GenerateJwt(user.Id, user.UserName, user.Name, user.Email,
user.TenantId.ToString(), roles.ToList());
var loginOutput = ObjectMapper.Map<IdentityUser, LoginOutput>(user);
loginOutput.Token = token;
loginOutput.Roles = roles.ToList();
@ -99,7 +99,8 @@ namespace CompanyName.ProjectName.Users
/// 生成jwt token
/// </summary>
/// <returns></returns>
private string GenerateJwt(Guid userId, string userName, string name, string email, string tenantId, List<string> roles)
private string GenerateJwt(Guid userId, string userName, string name, string email,
string tenantId, List<string> roles)
{
var dateNow = DateTime.Now;
var expirationTime = dateNow + TimeSpan.FromHours(_jwtOptions.ExpirationTime);
@ -125,7 +126,8 @@ namespace CompanyName.ProjectName.Users
{
Subject = new ClaimsIdentity(claims),
Expires = expirationTime,
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key), SecurityAlgorithms.HmacSha256Signature)
SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(key),
SecurityAlgorithms.HmacSha256Signature)
};
var handler = new JwtSecurityTokenHandler();
var token = handler.CreateToken(tokenDescriptor);

7
aspnet-core/services/src/CompanyName.ProjectName.Application/Users/UserAppService.cs

@ -4,6 +4,8 @@ using System.Linq;
using System.Threading.Tasks;
using CompanyName.ProjectName.Users.Dtos;
using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Identity;
using Volo.Abp;
using Volo.Abp.Application.Dtos;
@ -12,6 +14,7 @@ using Volo.Abp.Users;
namespace CompanyName.ProjectName.Users
{
[Authorize(Policy = IdentityPermissions.Users.Default)]
public class UserAppService : ProjectNameAppService, IUserAppService
{
private readonly IIdentityUserAppService _identityUserAppService;
@ -59,6 +62,7 @@ namespace CompanyName.ProjectName.Users
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(IdentityPermissions.Users.Create)]
public async Task<IdentityUserDto> CreateAsync(IdentityUserCreateDto input)
{
return await _identityUserAppService.CreateAsync(input);
@ -69,6 +73,7 @@ namespace CompanyName.ProjectName.Users
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(IdentityPermissions.Users.Update)]
public virtual async Task<IdentityUserDto> UpdateAsync(UpdateUserInput input)
{
return await _identityUserAppService.UpdateAsync(input.UserId, input.UserInfo);
@ -77,6 +82,7 @@ namespace CompanyName.ProjectName.Users
/// <summary>
/// 删除用户
/// </summary>
[Authorize(IdentityPermissions.Users.Delete)]
public virtual async Task DeleteAsync(IdInput input)
{
await _identityUserAppService.DeleteAsync(input.Id);
@ -119,6 +125,7 @@ namespace CompanyName.ProjectName.Users
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
[Authorize(ProjectNamePermissions.SystemManagement.UserEnable)]
public async Task LockAsync(LockUserInput input)
{
var identityUser = await _userManager.GetByIdAsync(input.UserId);

20
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/ApiResourceController.cs

@ -4,7 +4,6 @@ using CompanyName.ProjectName.Extension.Customs.Dtos;
using CompanyName.ProjectName.IdentityServers;
using CompanyName.ProjectName.IdentityServers.Dtos;
using CompanyName.ProjectName.Permissions;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Swashbuckle.AspNetCore.Annotations;
@ -13,8 +12,7 @@ using Volo.Abp.Application.Dtos;
namespace CompanyName.ProjectName.Controllers.IdentityServers
{
[Route("IdentityServer/ApiResource")]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Default)]
public class ApiResourceController : ProjectNameController,IApiResourceAppService
public class ApiResourceController : ProjectNameController, IApiResourceAppService
{
private readonly IApiResourceAppService _apiResourceAppService;
@ -24,23 +22,23 @@ namespace CompanyName.ProjectName.Controllers.IdentityServers
}
[HttpPost("page")]
[SwaggerOperation(summary: "分页获取ApiResource信息", Tags = new[] {"ApiResource"})]
public Task<PagedResultDto<ApiResourceOutput>> GetListAsync(PagingApiRseourceListInput input)
[SwaggerOperation(summary: "分页获取ApiResource信息", Tags = new[] { "ApiResource" })]
public Task<PagedResultDto<ApiResourceOutput>> GetListAsync(
PagingApiRseourceListInput input)
{
return _apiResourceAppService.GetListAsync(input);
}
[HttpPost("all")]
[SwaggerOperation(summary: "获取ApiResource信息", Tags = new[] {"ApiResource"})]
[SwaggerOperation(summary: "获取ApiResource信息", Tags = new[] { "ApiResource" })]
public Task<List<ApiResourceOutput>> GetApiResources()
{
return _apiResourceAppService.GetApiResources();
}
[HttpPost("create")]
[SwaggerOperation(summary: "新增ApiResource", Tags = new[] {"ApiResource"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Create)]
[SwaggerOperation(summary: "新增ApiResource", Tags = new[] { "ApiResource" })]
public Task CreateAsync(CreateApiResourceInput input)
{
return _apiResourceAppService.CreateAsync(input);
@ -48,16 +46,14 @@ namespace CompanyName.ProjectName.Controllers.IdentityServers
[HttpPost("delete")]
[SwaggerOperation(summary: "删除ApiResource", Tags = new[] {"ApiResource"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Delete)]
[SwaggerOperation(summary: "删除ApiResource", Tags = new[] { "ApiResource" })]
public async Task DeleteAsync(IdInput input)
{
await _apiResourceAppService.DeleteAsync(input);
}
[HttpPost("update")]
[SwaggerOperation(summary: "删除ApiResource", Tags = new[] {"ApiResource"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiResource.Update)]
[SwaggerOperation(summary: "删除ApiResource", Tags = new[] { "ApiResource" })]
public Task UpdateAsync(UpdateApiResourceInput input)
{
return _apiResourceAppService.UpdateAsync(input);

20
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/ApiScopeController.cs

@ -12,8 +12,7 @@ using Volo.Abp.Application.Dtos;
namespace CompanyName.ProjectName.Controllers.IdentityServers
{
[Route("IdentityServer/ApiScope")]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Default)]
public class ApiScopeController:ProjectNameController,IApiScopeAppService
public class ApiScopeController : ProjectNameController, IApiScopeAppService
{
private readonly IApiScopeAppService _apiScopeAppService;
@ -23,37 +22,36 @@ namespace CompanyName.ProjectName.Controllers.IdentityServers
}
[HttpPost("page")]
[SwaggerOperation(summary: "分页获取ApiScope信息", Tags = new[] {"ApiScope"})]
public Task<PagedResultDto<PagingApiScopeListOutput>> GetListAsync(PagingApiScopeListInput input)
[SwaggerOperation(summary: "分页获取ApiScope信息", Tags = new[] { "ApiScope" })]
public Task<PagedResultDto<PagingApiScopeListOutput>> GetListAsync(
PagingApiScopeListInput input)
{
return _apiScopeAppService.GetListAsync(input);
}
[HttpPost("create")]
[SwaggerOperation(summary: "创建ApiScope", Tags = new[] {"ApiScope"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Create)]
[SwaggerOperation(summary: "创建ApiScope", Tags = new[] { "ApiScope" })]
public Task CreateAsync(CreateApiScopeInput input)
{
return _apiScopeAppService.CreateAsync(input);
}
[HttpPost("update")]
[SwaggerOperation(summary: "更新ApiScope", Tags = new[] {"ApiScope"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Update)]
[SwaggerOperation(summary: "更新ApiScope", Tags = new[] { "ApiScope" })]
public Task UpdateAsync(UpdateCreateApiScopeInput input)
{
return _apiScopeAppService.UpdateAsync(input);
}
[HttpPost("delete")]
[SwaggerOperation(summary: "删除ApiScope", Tags = new[] {"ApiScope"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.ApiScope.Delete)]
[SwaggerOperation(summary: "删除ApiScope", Tags = new[] { "ApiScope" })]
public Task DeleteAsync(IdInput input)
{
return _apiScopeAppService.DeleteAsync(input);
}
[HttpPost("all")]
[SwaggerOperation(summary: "获取所有ApiScope", Tags = new[] {"ApiScope"})]
[SwaggerOperation(summary: "获取所有ApiScope", Tags = new[] { "ApiScope" })]
public Task<List<FromSelector<string, string>>> FindAllAsync()
{
return _apiScopeAppService.FindAllAsync();

41
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/ClientController.cs

@ -10,8 +10,7 @@ using Volo.Abp.Application.Dtos;
namespace CompanyName.ProjectName.Controllers.IdentityServers
{
[Route("IdentityServer/Client")]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Default)]
public class ClientController : ProjectNameController,IIdentityServerClientAppService
public class ClientController : ProjectNameController, IIdentityServerClientAppService
{
private readonly IIdentityServerClientAppService _identityServerClientAppService;
@ -21,96 +20,86 @@ namespace CompanyName.ProjectName.Controllers.IdentityServers
}
[HttpPost("page")]
[SwaggerOperation(summary: "分页获取Client信息", Tags = new[] {"Client"})]
public Task<PagedResultDto<PagingClientListOutput>> GetListAsync(PagingClientListInput input)
[SwaggerOperation(summary: "分页获取Client信息", Tags = new[] { "Client" })]
public Task<PagedResultDto<PagingClientListOutput>> GetListAsync(
PagingClientListInput input)
{
return _identityServerClientAppService.GetListAsync(input);
}
[HttpPost("create")]
[SwaggerOperation(summary: "创建Client", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Create)]
[SwaggerOperation(summary: "创建Client", Tags = new[] { "Client" })]
public Task CreateAsync(CreateClientInput input)
{
return _identityServerClientAppService.CreateAsync(input);
}
[HttpPost("delete")]
[SwaggerOperation(summary: "删除client", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Delete)]
[SwaggerOperation(summary: "删除client", Tags = new[] { "Client" })]
public Task DeleteAsync(IdInput input)
{
return _identityServerClientAppService.DeleteAsync(input);
}
[HttpPost("updateBasic")]
[SwaggerOperation(summary: "更新基本信息", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "更新基本信息", Tags = new[] { "Client" })]
public Task UpdateBasicDataAsync(UpdataBasicDataInput input)
{
return _identityServerClientAppService.UpdateBasicDataAsync(input);
}
[HttpPost("updateScopes")]
[SwaggerOperation(summary: "更新client scopes", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "更新client scopes", Tags = new[] { "Client" })]
public Task UpdateScopesAsync(UpdateScopeInput input)
{
return _identityServerClientAppService.UpdateScopesAsync(input);
}
[HttpPost("addRedirectUri")]
[SwaggerOperation(summary: "新增回调地址", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "新增回调地址", Tags = new[] { "Client" })]
public Task AddRedirectUriAsync(AddRedirectUriInput input)
{
return _identityServerClientAppService.AddRedirectUriAsync(input);
}
[HttpPost("removeRedirectUri")]
[SwaggerOperation(summary: "删除回调地址", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "删除回调地址", Tags = new[] { "Client" })]
public Task RemoveRedirectUriAsync(RemoveRedirectUriInput input)
{
return _identityServerClientAppService.RemoveRedirectUriAsync(input);
}
[HttpPost("addLogoutRedirectUri")]
[SwaggerOperation(summary: "新增Logout回调地址", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "新增Logout回调地址", Tags = new[] { "Client" })]
public Task AddLogoutRedirectUriAsync(AddRedirectUriInput input)
{
return _identityServerClientAppService.AddLogoutRedirectUriAsync(input);
}
[HttpPost("removeLogoutRedirectUri")]
[SwaggerOperation(summary: "删除Logout回调地址", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "删除Logout回调地址", Tags = new[] { "Client" })]
public Task RemoveLogoutRedirectUriAsync(RemoveRedirectUriInput input)
{
return _identityServerClientAppService.RemoveLogoutRedirectUriAsync(input);
}
[HttpPost("addCors")]
[SwaggerOperation(summary: "添加cors", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "添加cors", Tags = new[] { "Client" })]
public Task AddCorsAsync(AddCorsInput input)
{
return _identityServerClientAppService.AddCorsAsync(input);
}
[HttpPost("removeCors")]
[SwaggerOperation(summary: "删除cors", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Update)]
[SwaggerOperation(summary: "删除cors", Tags = new[] { "Client" })]
public Task RemoveCorsAsync(RemoveCorsInput input)
{
return _identityServerClientAppService.RemoveCorsAsync(input);
}
[HttpPost("enabled")]
[SwaggerOperation(summary: "禁用client", Tags = new[] {"Client"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.Client.Enable)]
[SwaggerOperation(summary: "禁用client", Tags = new[] { "Client" })]
public Task EnabledAsync(EnabledInput input)
{
return _identityServerClientAppService.EnabledAsync(input);

17
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/IdentityServers/IdentityResourceController.cs

@ -12,8 +12,7 @@ using Volo.Abp.Application.Dtos;
namespace CompanyName.ProjectName.Controllers.IdentityServers
{
[Route("IdentityServer/IdentityResource")]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Default)]
public class IdentityResourceController : ProjectNameController,IIdentityResourceAppService
public class IdentityResourceController : ProjectNameController, IIdentityResourceAppService
{
private readonly IIdentityResourceAppService _identityResourceAppService;
@ -23,38 +22,36 @@ namespace CompanyName.ProjectName.Controllers.IdentityServers
}
[HttpPost("page")]
[SwaggerOperation(summary: "分页获取IdentityResource信息", Tags = new[] {"IdentityResource"})]
[SwaggerOperation(summary: "分页获取IdentityResource信息", Tags = new[] { "IdentityResource" })]
public Task<PagedResultDto<PagingIdentityResourceListOutput>> GetListAsync(
PagingIdentityResourceListInput input)
{
return _identityResourceAppService.GetListAsync(input);
}
[HttpPost("all")]
[SwaggerOperation(summary: "获取所有IdentityResource信息", Tags = new[] {"IdentityResource"})]
[SwaggerOperation(summary: "获取所有IdentityResource信息", Tags = new[] { "IdentityResource" })]
public Task<List<PagingIdentityResourceListOutput>> GetAllAsync()
{
return _identityResourceAppService.GetAllAsync();
}
[HttpPost("create")]
[SwaggerOperation(summary: "创建IdentityResource", Tags = new[] {"IdentityResource"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Create)]
[SwaggerOperation(summary: "创建IdentityResource", Tags = new[] { "IdentityResource" })]
public Task CreateAsync(CreateIdentityResourceInput input)
{
return _identityResourceAppService.CreateAsync(input);
}
[HttpPost("update")]
[SwaggerOperation(summary: "更新IdentityResource", Tags = new[] {"IdentityResource"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Update)]
[SwaggerOperation(summary: "更新IdentityResource", Tags = new[] { "IdentityResource" })]
public Task UpdateAsync(UpdateIdentityResourceInput input)
{
return _identityResourceAppService.UpdateAsync(input);
}
[HttpPost("delete")]
[SwaggerOperation(summary: "删除IdentityResource", Tags = new[] {"IdentityResource"})]
[Authorize(Policy = ProjectNamePermissions.IdentityServer.IdentityResources.Delete)]
[SwaggerOperation(summary: "删除IdentityResource", Tags = new[] { "IdentityResource" })]
public Task DeleteAsync(IdInput input)
{
return _identityResourceAppService.DeleteAsync(input);

1
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/AuditLogController.cs

@ -9,7 +9,6 @@ using Volo.Abp.Application.Dtos;
namespace CompanyName.ProjectName.Controllers.Systems
{
[Route("AuditLogs")]
[Authorize(Policy = ProjectNamePermissions.SystemManagement.AuditLog)]
public class AuditLogController : ProjectNameController,IAuditLogAppService
{
private readonly IAuditLogAppService _auditLogAppService;

1
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/CompanyNameProjectNameLogController.cs

@ -21,7 +21,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
[HttpPost("page")]
[SwaggerOperation(summary: "分页获取Es日志", Tags = new[] { "EsLog" })]
[Authorize(Policy = ProjectNamePermissions.SystemManagement.ES)]
public Task<CustomePagedResultDto<PagingElasticSearchLogOutput>> PaingAsync(PagingElasticSearchLogInput input)
{
return _companyNameProjectNameLogAppService.PaingAsync(input);

2
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/PermissionController.cs

@ -9,7 +9,6 @@ using Volo.Abp.Identity;
namespace CompanyName.ProjectName.Controllers.Systems
{
[Route("Permissions")]
[Authorize]
public class PermissionController : ProjectNameController,IRolePermissionAppService
{
private readonly IRolePermissionAppService _rolePermissionAppService;
@ -28,7 +27,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("update")]
[Authorize(IdentityPermissions.Roles.ManagePermissions)]
[SwaggerOperation(summary: "更新角色", Tags = new[] { "Permissions" })]
public Task UpdatePermissionAsync(UpdateRolePermissionsInput input)
{

8
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/RoleController.cs

@ -12,8 +12,7 @@ using Volo.Abp.Identity;
namespace CompanyName.ProjectName.Controllers.Systems
{
[Route("Roles")]
[Authorize(Policy = IdentityPermissions.Roles.Default)]
public class RoleController : ProjectNameController,IRoleAppService
public class RoleController : ProjectNameController, IRoleAppService
{
private readonly IRoleAppService _roleAppService;
@ -37,7 +36,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("create")]
[Authorize(IdentityPermissions.Roles.Create)]
[SwaggerOperation(summary: "创建角色", Tags = new[] { "Roles" })]
public Task<IdentityRoleDto> CreateAsync(IdentityRoleCreateDto input)
{
@ -45,7 +43,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("update")]
[Authorize(IdentityPermissions.Roles.Update)]
[SwaggerOperation(summary: "更新角色", Tags = new[] { "Roles" })]
public Task<IdentityRoleDto> UpdateAsync(UpdateRoleInput input)
{
@ -54,13 +51,10 @@ namespace CompanyName.ProjectName.Controllers.Systems
[HttpPost("delete")]
[Authorize(IdentityPermissions.Roles.Delete)]
[SwaggerOperation(summary: "删除角色", Tags = new[] { "Roles" })]
public Task DeleteAsync(IdInput input)
{
return _roleAppService.DeleteAsync(input);
}
}
}

7
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Systems/UserController.cs

@ -13,8 +13,7 @@ using Volo.Abp.Identity;
namespace CompanyName.ProjectName.Controllers.Systems
{
[Route("Users")]
[Authorize(Policy = IdentityPermissions.Users.Default)]
public class UserContoller:ProjectNameController,IUserAppService
public class UserContoller : ProjectNameController, IUserAppService
{
private readonly IUserAppService _userAppService;
@ -31,7 +30,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("create")]
[Authorize(IdentityPermissions.Users.Create)]
[SwaggerOperation(summary: "创建用户", Tags = new[] { "Users" })]
public Task<IdentityUserDto> CreateAsync(IdentityUserCreateDto input)
{
@ -39,7 +37,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("update")]
[Authorize(IdentityPermissions.Users.Update)]
[SwaggerOperation(summary: "编辑用户", Tags = new[] { "Users" })]
public Task<IdentityUserDto> UpdateAsync(UpdateUserInput input)
{
@ -47,7 +44,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("delete")]
[Authorize(IdentityPermissions.Users.Update)]
[SwaggerOperation(summary: "删除用户", Tags = new[] { "Users" })]
public Task DeleteAsync(IdInput input)
{
@ -70,7 +66,6 @@ namespace CompanyName.ProjectName.Controllers.Systems
}
[HttpPost("lock")]
[Authorize(ProjectNamePermissions.SystemManagement.UserEnable)]
[SwaggerOperation(summary: "锁定用户", Tags = new[] { "Users" })]
public Task LockAsync(LockUserInput input)
{

6
aspnet-core/services/src/CompanyName.ProjectName.HttpApi/Controllers/Tenants/TenantController.cs

@ -10,7 +10,6 @@ using Volo.Abp.TenantManagement;
namespace CompanyName.ProjectName.Controllers.Tenants
{
[Route("Tenants")]
[Authorize(TenantManagementPermissions.Tenants.Default)]
public class TenantController : ProjectNameController
{
private readonly ITenantAppService _tenantAppService;
@ -30,7 +29,6 @@ namespace CompanyName.ProjectName.Controllers.Tenants
[HttpPost("create")]
[SwaggerOperation(summary: "创建租户", Tags = new[] {"Tenants"})]
[Authorize(TenantManagementPermissions.Tenants.Create)]
public Task<TenantDto> CreateAsync(TenantCreateDto input)
{
return _tenantAppService.CreateAsync(input);
@ -38,7 +36,6 @@ namespace CompanyName.ProjectName.Controllers.Tenants
[HttpPost("update")]
[SwaggerOperation(summary: "更新租户", Tags = new[] {"Tenants"})]
[Authorize(TenantManagementPermissions.Tenants.Update)]
public Task<TenantDto> UpdateAsync(UpdateTenantInput input)
{
var request = new TenantUpdateDto()
@ -50,7 +47,6 @@ namespace CompanyName.ProjectName.Controllers.Tenants
[HttpPost("delete")]
[SwaggerOperation(summary: "删除租户", Tags = new[] {"Tenants"})]
[Authorize(TenantManagementPermissions.Tenants.Delete)]
public Task DeleteAsync(IdInput input)
{
return _tenantAppService.DeleteAsync(input.Id);
@ -66,7 +62,6 @@ namespace CompanyName.ProjectName.Controllers.Tenants
[HttpPost("updateConnectionString")]
[SwaggerOperation(summary: "更新租户连接字符串", Tags = new[] {"Tenants"})]
[Authorize(TenantManagementPermissions.Tenants.ManageConnectionStrings)]
public Task UpdateDefaultConnectionStringAsync(UpdateConnectionStringInput input)
{
return _tenantAppService.UpdateDefaultConnectionStringAsync(input.Id, input.ConnectionString);
@ -74,7 +69,6 @@ namespace CompanyName.ProjectName.Controllers.Tenants
[HttpPost("deleteConnectionString")]
[SwaggerOperation(summary: "删除租户连接字符串", Tags = new[] {"Tenants"})]
[Authorize(TenantManagementPermissions.Tenants.ManageConnectionStrings)]
public Task DeleteDefaultConnectionStringAsync(IdInput input)
{
return _tenantAppService.DeleteDefaultConnectionStringAsync(input.Id);

5
aspnet-core/shared/CompanyName.ProjectName.Shared.Hosting.Microservices/SharedHostingMicroserviceModule.cs

@ -3,6 +3,7 @@ using System.Linq;
using Microsoft.AspNetCore.Cors;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using Microsoft.Extensions.Hosting;
using Volo.Abp.AspNetCore.ExceptionHandling;
using Volo.Abp.Autofac;
using Volo.Abp.Localization;
@ -46,9 +47,11 @@ namespace CompanyName.ProjectName
/// <param name="context"></param>
private void ConfigureAbpExceptions(ServiceConfigurationContext context)
{
//开启后通过ErrorCode抛本地化异常,message不会显示本地化词条
var SendExceptionsDetails = context.Services.GetHostingEnvironment().IsDevelopment();
context.Services.Configure<AbpExceptionHandlingOptions>(options =>
{
options.SendExceptionsDetailsToClients = true;
options.SendExceptionsDetailsToClients = SendExceptionsDetails;
});
}

2
vben271/package.json

@ -57,7 +57,7 @@
"sortablejs": "^1.14.0",
"vue": "3.2.2",
"vue-i18n": "9.1.7",
"vue-router": "^4.0.11",
"vue-router": "^4.0.12",
"vue-types": "^4.0.3"
},
"devDependencies": {

Loading…
Cancel
Save