示例#1
0
    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);
        }
    }
示例#2
0
        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"]);
        }
示例#3
0
        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"]);
        }
示例#4
0
        /// <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);

            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);
    }
示例#10
0
        /// <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, "删除");
        }
        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);
            }
        }