/// <summary> /// 构造函数 /// </summary> /// <param name="tenantAuthorizationHandlers">租户权限处理器集合</param> /// <param name="anonymous">匿名用户角色名称</param> /// <param name="superAdministrator">超级管理员角色名称</param> /// <param name="permissionService">权限管理服务</param> public AuthorizationService(IEnumerable<ITenantAuthorizationHandler> tenantAuthorizationHandlers, string anonymous, string superAdministrator, PermissionService permissionService) { tenantAuthorizationHandlerDictionary = new ConcurrentDictionary<string, ITenantAuthorizationHandler>(); foreach (var tenantAuthorizationHandler in tenantAuthorizationHandlers) { tenantAuthorizationHandlerDictionary[tenantAuthorizationHandler.TenantTypeId] = tenantAuthorizationHandler; } this.AnonymousRoleName = anonymous; this.SuperAdministratorRoleName = superAdministrator; this.permissionService = permissionService; }
/// <summary> /// 构造函数 /// </summary> public AuthorizationService() { tenantAuthorizationHandlerDictionary = new ConcurrentDictionary<string, ITenantAuthorizationHandler>(); foreach (var tenantAuthorizationHandler in DIContainer.Resolve<IEnumerable<ITenantAuthorizationHandler>>()) { tenantAuthorizationHandlerDictionary[tenantAuthorizationHandler.TenantTypeId] = tenantAuthorizationHandler; } UserSettings userSettings = DIContainer.Resolve<ISettingsManager<UserSettings>>().Get(); this.AnonymousRoleName = userSettings.AnonymousRoleName; this.SuperAdministratorRoleName = userSettings.SuperAdministratorRoleName; this.permissionService = new PermissionService(); }
void PermissionOperationLogEventMoudle_BatchAfter(IEnumerable<PermissionItemInUserRole> senders, CommonEventArgs eventArgs) { //只记录批量更新操作 if (eventArgs.EventOperationType != EventOperationType.Instance().Update()) return; OperationLogService logService = Tunynet.DIContainer.Resolve<OperationLogService>(); PermissionService permissionService = new PermissionService(); OperationLogEntry entry = new OperationLogEntry(eventArgs.OperatorInfo); entry.ApplicationId = 0; entry.Source = string.Empty; entry.OperationType = eventArgs.EventOperationType; IEnumerable<string> roleNames = senders.Select(n => n.RoleName).Distinct(); entry.OperationObjectName = string.Join(",", roleNames); entry.OperationObjectId = 0; entry.Description = string.Format(ResourceAccessor.GetString("OperationLog_Pattern_" + eventArgs.EventOperationType), "权限", entry.OperationObjectName); logService.Create(entry); }