protected virtual Dictionary <string, PermissionGroupDefinition> CreatePermissionGroupDefinitions() { using (var scope = _serviceProvider.CreateScope()) { var context = new PermissionDefinitionContext(scope.ServiceProvider); var providers = Options .DefinitionProviders .Select(p => scope.ServiceProvider.GetRequiredService(p) as IPermissionDefinitionProvider) .ToList(); foreach (var provider in providers) { provider.PreDefine(context); } foreach (var provider in providers) { provider.Define(context); } foreach (var provider in providers) { provider.PostDefine(context); } return(context.Groups); } }
public void Define(PermissionDefinitionContext context) { var productGroup = context.AddGroup(PermissionPermissions.GroupName, _localizer["Permission:PermissionManager"]); var productManagement = productGroup.AddPermission(PermissionPermissions.Permissions.Default, _localizer["Permission:PermissionStore.Permissions"]); productManagement.AddChild(PermissionPermissions.Permissions.Get, _localizer["Permission:PermissionManager.Permissions.Get"]); productManagement.AddChild(PermissionPermissions.Permissions.Edit, _localizer["Permission:PermissionManager.Permissions.Edit"]); }
public void Define(PermissionDefinitionContext context) { var productGroup = context.AddGroup(ProductPermissions.GroupName, _localizer["Permission:ProductManager"]); var productManagement = productGroup.AddPermission(ProductPermissions.Products.Default, _localizer["Permission:ProductStore.Products"]); productManagement.AddChild(ProductPermissions.Products.Create, _localizer["Permission:ProductManager.Products.Creeate"]); productManagement.AddChild(ProductPermissions.Products.Edit, _localizer["Permission:ProductManager.Products.Edit"]); productManagement.AddChild(ProductPermissions.Products.Delete, _localizer["Permission:ProductManager.Products.Delete"]); }
/// <inheritdoc /> public void Define(PermissionDefinitionContext context) { /* * can read from database */ var productGroup = context.AddGroup(TenantPermission.GroupName, "租户管理"); var userPermissionManager = productGroup.AddPermission(TenantPermission.Tenant.Default, "租户"); userPermissionManager.AddChild(TenantPermission.Tenant.Create, "创建"); userPermissionManager.AddChild(TenantPermission.Tenant.Edit, "编辑"); userPermissionManager.AddChild(TenantPermission.Tenant.Delete, "删除"); }
public void Initialize() { var context = new PermissionDefinitionContext(_rootGroups); foreach (var providerType in _authorizationConfiguration.Providers) { CreatePermissionProvider(providerType).SetPermissions(context); } foreach (var rootGroup in _rootGroups.Values) { _permissions.AddGroupPermissionsRecursively(rootGroup); } }
private void Initialize() { var context = new PermissionDefinitionContext(_rootGroups); foreach (var provider in _providerFinder.GetPermissionProviders()) { provider.DefinePermissions(context); } foreach (var rootGroup in _rootGroups.Values) { AddGroupRecursively(rootGroup); } }
private void Initialize() { var context = new PermissionDefinitionContext(_rootGroups); var providerTypes = _providerFinder.FindAll(); foreach (var providerType in providerTypes) { CreatePermissionProvider(providerType).DefinePermissions(context); } foreach (var rootGroup in _rootGroups.Values) { _permissions.AddGroupPermissionsRecursively(rootGroup); } }
/// <summary> /// 创建权限组定义 /// </summary> /// <returns></returns> protected virtual Dictionary <string, PermissionGroupDefinition> CreatePermissionGroupDefinitions() { using var scope = _serviceProvider.CreateScope(); // 创建一个权限定义上下文。 var context = new PermissionDefinitionContext(); Options .DefinitionProviders .Select(p => scope.ServiceProvider.GetRequiredService(p) as IPermissionDefinitionProvider) .ToList() .ForEach(item => item.Define(context)); // 返回权限组名称 - 权限组定义的字典。 return(context.Groups); }
/// <inheritdoc /> public void Define(PermissionDefinitionContext context) { /* * can read from database */ var productGroup = context.AddGroup(ProductPermission.GroupName, "产品管理"); var userPermissionManager = productGroup.AddPermission(ProductPermission.Product.Default, "产品"); userPermissionManager.AddChild(ProductPermission.Product.Create, "创建"); userPermissionManager.AddChild(ProductPermission.Product.Edit, "编辑"); userPermissionManager.AddChild(ProductPermission.Product.Delete, "删除"); var rolePermissionManager = productGroup.AddPermission(ProductPermission.Device.Default, "设备"); rolePermissionManager.AddChild(ProductPermission.Device.Create, "创建"); rolePermissionManager.AddChild(ProductPermission.Device.Edit, "编辑"); rolePermissionManager.AddChild(ProductPermission.Device.Delete, "删除"); }