예제 #1
0
 public Abp.Authorization.Permission EditPermission(string oldName, Abp.Authorization.Permission parent, string name, ILocalizableString displayName = null,
                                                    ILocalizableString description       = null,
                                                    MultiTenancySides multiTenancySides  = MultiTenancySides.Tenant | MultiTenancySides.Host,
                                                    IFeatureDependency featureDependency = null, Dictionary <string, object> properties = null)
 {
     throw new NotImplementedException();
 }
 public StaticRoleDefinition(string roleName, MultiTenancySides side, bool grantAllPermissionsByDefault = false)
 {
     RoleName = roleName;
     Side     = side;
     GrantAllPermissionsByDefault = grantAllPermissionsByDefault;
     GrantedPermissions           = new List <string>();
 }
예제 #3
0
 public WinformMenu(
     string name,
     MenuType menuType,
     string displayName = null,
     string description = null,
     string permission  = null,
     Image icon         = null,
     int order          = 0,
     MultiTenancySides multiTenancySides    = MultiTenancySides.Host | MultiTenancySides.Tenant,
     Dictionary <string, object> properties = null,
     Action <WinformMenu> menuEvent         = null
     )
 {
     Name              = name;
     MenuType          = menuType;
     DisplayName       = displayName;
     Properties        = properties;
     Description       = description;
     Permission        = permission;
     Icon              = icon;
     Order             = order;
     MultiTenancySides = multiTenancySides;
     MenuEvent         = menuEvent;
     _children         = new List <WinformMenu>();
 }
예제 #4
0
 public WinformMenu(
     string name,
     MenuType menuType,
     string displayName = null,
     string description = null,
     string permission  = null,
     Image icon         = null,
     Image disIcon      = null,
     int order          = 0,
     bool defaultEnable = true,
     MultiTenancySides multiTenancySides    = MultiTenancySides.Host | MultiTenancySides.Tenant,
     Dictionary <string, object> properties = null,
     IType <IMenuAction> menuActionType     = null
     )
 {
     Name              = name;
     MenuType          = menuType;
     DisplayName       = displayName;
     Properties        = properties;
     Description       = description;
     Permission        = permission;
     Icon              = icon;
     DisIcon           = disIcon;
     Order             = order;
     MultiTenancySides = multiTenancySides;
     MenuActionType    = menuActionType;
     DefaultEnable     = defaultEnable;
     IsEnable          = defaultEnable;
     _children         = new List <WinformMenu>();
 }
예제 #5
0
 public StaticRole(string id, string name, MultiTenancySides side, bool grantAllByDefault = false)
 {
     Id   = id;
     Name = name;
     Side = side;
     GrantAllByDefault  = grantAllByDefault;
     GrantedPermissions = new List <string>();
 }
예제 #6
0
        public static Permission CreatePermission(string name,
                                                  string displayName = null,
                                                  string description = null,
                                                  MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            var permission = new Permission(name, displayName, description, multiTenancySides);

            return(permission);
        }
 public IReadOnlyList<Permission> GetAllPermissions(MultiTenancySides multiTenancySides)
 {
     return Permissions.Values
         .Where(p => p.MultiTenancySides.HasFlag(multiTenancySides))
         .Where(p =>
             p.FeatureDependency == null ||
             (p.MultiTenancySides.HasFlag(MultiTenancySides.Host) && multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
             p.FeatureDependency.IsSatisfied(_featureDependencyContext)
         ).ToImmutableList();
 }
 public IReadOnlyList <Permission> GetAllPermissions(MultiTenancySides multiTenancySides)
 {
     return(Permissions.Values
            .Where(p => p.MultiTenancySides.HasFlag(multiTenancySides))
            .Where(p =>
                   p.DependedFeature == null ||
                   (p.MultiTenancySides.HasFlag(MultiTenancySides.Host) && multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
                   p.DependedFeature.IsSatisfied(_featureDependencyContext)
                   ).ToImmutableList());
 }
        public Permission CreatePermission(string name, ILocalizableString displayName = null, bool isGrantedByDefault = false, ILocalizableString description = null, MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            if (Permissions.ContainsKey(name))
            {
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides);
            Permissions[permission.Name] = permission;
            return permission;
        }
예제 #10
0
 private async Task GrantedAllPermissionsToAdminUser(IdentityUser adminUser, MultiTenancySides multiTenancySides)
 {
     foreach (var permission in PermissionDefinitionManager.GetPermissions())
     {
         if (permission.MultiTenancySide != multiTenancySides)
         {
             continue;
         }
         await PermissionManager.SetForUserAsync(adminUser.Id, permission.Name, true);
     }
 }
 public IReadOnlyList <WinformToolbarGroup> GetAllToolbarGroups(MultiTenancySides multiTenancySides)
 {
     return(ToolbarGroups.Values
            .Where(t => t.MultiTenancySides.HasFlag(multiTenancySides))
            .Where(t =>
                   string.IsNullOrEmpty(t.Permission) ||
                   AbpSession.MultiTenancySide == MultiTenancySides.Host ||
                   (t.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&
                    multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
                   (!string.IsNullOrEmpty(t.Permission) && _permissionChecker.IsGranted(t.Permission))
                   ).ToImmutableList());
 }
 public StaticRoleDefinition(string roleName,
                             string roleDisplayName,
                             MultiTenancySides side,
                             bool grantAllPermissionsByDefault = false,
                             List <string> grantedPermissions  = null)
 {
     RoleName        = roleName;
     RoleDisplayName = roleDisplayName;
     Side            = side;
     GrantAllPermissionsByDefault = grantAllPermissionsByDefault;
     GrantedPermissions           = grantedPermissions;
 }
예제 #13
0
        protected internal PermissionScope(
            [NotNull] string name,
            [NotNull] string displayName,
            MultiTenancySides multiTenancySide = MultiTenancySides.Both)
        {
            Check.NotNull(name, nameof(name));
            Check.NotNull(displayName, nameof(displayName));

            Name             = name;
            DisplayName      = displayName;
            MultiTenancySide = multiTenancySide;
        }
예제 #14
0
        public static Permission CreatePermission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null
            )
        {
            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency);

            return(permission);
        }
예제 #15
0
 public WinformToolbarGroup(
     string name,
     string text,
     string permission,
     MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant
     )
 {
     this.Name              = name;
     this.Text              = text;
     this.Permission        = permission;
     this.MultiTenancySides = multiTenancySides;
 }
예제 #16
0
 public virtual IReadOnlyList <WinformMenu> GetAllMenus(MultiTenancySides multiTenancySides)
 {
     return(Menus.Values
            .Where(m => m.MultiTenancySides.HasFlag(multiTenancySides))
            .Where(m =>
                   string.IsNullOrEmpty(m.Permission) ||
                   AbpSession.MultiTenancySide == MultiTenancySides.Host ||
                   (m.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&
                    multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
                   (!string.IsNullOrEmpty(m.Permission) && _permissionChecker.IsGranted(m.Permission))
                   ).ToImmutableList());
 }
        public IList <WinformToolbar> GetToolbarsByGroups(string groupName, MultiTenancySides multiTenancySides)
        {
            var group = GetToolbarGroup(groupName);

            return(group.ToolBars.Where(t => t.MultiTenancySides.HasFlag(multiTenancySides))
                   .Where(t =>
                          string.IsNullOrEmpty(t.Permission) ||
                          AbpSession.MultiTenancySide == MultiTenancySides.Host ||
                          (t.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&
                           multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
                          (!string.IsNullOrEmpty(t.Permission) && _permissionChecker.IsGranted(t.Permission))
                          ).ToImmutableList());
        }
예제 #18
0
 public ProductType(
     Guid id,
     string name,
     string displayName,
     string description,
     MultiTenancySides multiTenancySide
     ) : base(id)
 {
     Name             = name;
     DisplayName      = displayName;
     Description      = description;
     MultiTenancySide = multiTenancySide;
 }
예제 #19
0
        public Permission(
            string name,
            ILocalizableString displayName      = null,
            ILocalizableString description      = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            Name              = name ?? throw new ArgumentNullException("name");
            DisplayName       = displayName;
            Description       = description;
            MultiTenancySides = multiTenancySides;

            children = new List <Permission>();
        }
예제 #20
0
        public string GetNameOrConnectionString(MultiTenancySides sides, int?tenantId = null)
        {
            if (sides == MultiTenancySides.Tenant)
            {
                if (tenantId == null)
                {
                    throw new InvalidOperationException();
                }
                return(Bootstrapper.Configuration.DefaultNameOrConnectionString.Replace("QimErpHost", "QimErp"));
            }

            return(Bootstrapper.Configuration.DefaultNameOrConnectionString);
        }
예제 #21
0
        /// <summary>
        ///     Adds a child permission.
        ///     A child permission can be granted only if parent is granted.
        /// </summary>
        /// <returns>Returns newly created child permission</returns>
        public Permission CreateChildPermission(string name,
                                                string displayName = null,
                                                string description = null,
                                                MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            var permission = new Permission(name, displayName, description, multiTenancySides)
            {
                Parent = this
            };

            _children.Add(permission);
            return(permission);
        }
예제 #22
0
        public Permission AddChild(
            string name,
            ILocalizableString displayName      = null,
            ILocalizableString description      = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            var permission = new Permission(name, displayName, description, multiTenancySides)
            {
                Parent = this
            };

            children.Add(permission);
            return(permission);
        }
 public WinformToolbarGroup(
     string name,
     string text,
     string permission,
     MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
     bool isDefaultShow = true
     )
 {
     this.Name              = name;
     this.Text              = text;
     this.Permission        = permission;
     this.MultiTenancySides = multiTenancySides;
     this.IsDefaultShow     = isDefaultShow;
 }
예제 #24
0
파일: Menu.cs 프로젝트: HimmaTong/abp-vue
        public Menu(
            string name,
            string displayName,
            MenuEnumType menuType,
            MultiTenancySides multiTenancySide = MultiTenancySides.Both
            )
        {
            Name             = name;
            DisplayName      = displayName;
            MenuType         = menuType;
            MultiTenancySide = multiTenancySide;

            Children = new Collection <Menu>();
        }
 public WinformToolbarGroup CreateToolbarGroup(string name, string text, string permission,
                                               MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
 {
     if (ToolbarGroups.ContainsKey(name))
     {
         return(ToolbarGroups[name]);
     }
     else
     {
         WinformToolbarGroup winformToolbarGroup = new WinformToolbarGroup(name, text, permission, multiTenancySides);
         ToolbarGroups.Add(name, winformToolbarGroup);
         return(winformToolbarGroup);
     }
 }
예제 #26
0
        /// <summary>
        ///     Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        public Permission(string name,
                          string displayName = null,
                          string description = null,
                          MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            Check.NotNull(name, nameof(name));

            Name              = name;
            DisplayName       = displayName;
            Description       = description;
            MultiTenancySides = multiTenancySides;

            _children = new List <Permission>();
        }
예제 #27
0
        public virtual PermissionGroupDefinition AddGroup(
            string name,
            ILocalizableString displayName     = null,
            MultiTenancySides multiTenancySide = MultiTenancySides.Both)
        {
            Check.NotNull(name, nameof(name));

            if (Groups.ContainsKey(name))
            {
                throw new AbpException($"There is already an existing permission group with name: {name}");
            }

            return(Groups[name] = new PermissionGroupDefinition(name, displayName, multiTenancySide));
        }
예제 #28
0
파일: Permission.cs 프로젝트: dazyzsy/ZBP
        public Permission(string name, ILocalizableString displayName=null,bool isGrantedByDefault= false, ILocalizableString description=null,MultiTenancySides multiTenancySides=MultiTenancySides.Host|MultiTenancySides.Tenant)
        {
            if (name==null)
            {
                throw new ArgumentNullException("name");
            }

            Name = name;
            DisplayName = displayName;
            IsGrantedByDefault = isGrantedByDefault;
            Description = description;
            MultiTenancySides = multiTenancySides;
            _children = new List<Permission>();
        }
예제 #29
0
        /// <summary>
        /// Adds a child permission.
        /// A child permission can be granted only if parent is granted.
        /// </summary>
        /// <returns>Returns newly created child permission</returns>
        public Permission CreateChildPermission(
            string name,
            ILocalizableString displayName       = null,
            ILocalizableString description       = null,
            MultiTenancySides multiTenancySides  = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency)
            {
                Parent = this
            };

            _children.Add(permission);
            return(permission);
        }
예제 #30
0
 public WidgetDefinition(
     string id,
     string name,
     MultiTenancySides side          = MultiTenancySides.Tenant | MultiTenancySides.Host,
     List <string> usedWidgetFilters = null,
     List <string> permissions       = null,
     string description = null)
 {
     Id                = id;
     Name              = name;
     Side              = side;
     Permissions       = permissions ?? new List <string>();
     UsedWidgetFilters = usedWidgetFilters;
     Description       = description;
 }
예제 #31
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="isGrantedByDefault">Is this permission granted by default. Default value: false.</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        public Permission(string name, ILocalizableString displayName = null, bool isGrantedByDefault = false, ILocalizableString description = null, MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name               = name;
            DisplayName        = displayName;
            IsGrantedByDefault = isGrantedByDefault;
            Description        = description;
            MultiTenancySides  = multiTenancySides;

            _children = new List <Permission>();
        }
예제 #32
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName      = null,
            ILocalizableString description      = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant)
        {
            Guard.ArgumentNotNull(name, nameof(name));

            Name              = name;
            DisplayName       = displayName;
            Description       = description;
            MultiTenancySides = multiTenancySides;

            _children = new List <Permission>();
        }
        public Permission CreatePermission(
            string name, 
            ILocalizableString displayName = null, 
            ILocalizableString description = null, 
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            if (Permissions.ContainsKey(name))
            {
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, description, multiTenancySides, featureDependency);
            Permissions[permission.Name] = permission;
            return permission;
        }
예제 #34
0
 public IReadOnlyList<Permission> GetAllPermissions(MultiTenancySides multiTenancySides)
 {
     using (var featureDependencyContext = _iocManager.ResolveAsDisposable<FeatureDependencyContext>())
     {
         var featureDependencyContextObject = featureDependencyContext.Object;
         return Permissions.Values
             .Where(p => p.MultiTenancySides.HasFlag(multiTenancySides))
             .Where(p =>
                 p.FeatureDependency == null ||
                 AbpSession.MultiTenancySide == MultiTenancySides.Host ||
                 (p.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&
                  multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
                 p.FeatureDependency.IsSatisfied(featureDependencyContextObject)
             ).ToImmutableList();
     }
 }
예제 #35
0
 public IReadOnlyList <Permission> GetAllPermissions(MultiTenancySides multiTenancySides)
 {
     using (var featureDependencyContext = _iocManager.ResolveAsDisposable <FeatureDependencyContext>())
     {
         var featureDependencyContextObject = featureDependencyContext.Object;
         return(Permissions.Values
                .Where(p => p.MultiTenancySides.HasFlag(multiTenancySides))
                .Where(p =>
                       p.FeatureDependency == null ||
                       AbpSession.MultiTenancySide == MultiTenancySides.Host ||
                       (p.MultiTenancySides.HasFlag(MultiTenancySides.Host) &&
                        multiTenancySides.HasFlag(MultiTenancySides.Host)) ||
                       p.FeatureDependency.IsSatisfied(featureDependencyContextObject)
                       ).ToImmutableList());
     }
 }
        /// <summary>
        /// 创建权限
        /// </summary>
        /// <param name="name">权限名称</param>
        /// <param name="displayName">权限显示名称</param>
        /// <param name="isGrantedByDefault"></param>
        /// <param name="description">权限描述</param>
        /// <param name="multiTenancySides">多租户</param>
        /// <param name="featureDependency">特征依赖</param>
        /// <returns></returns>
        public Permission CreatePermission(
            string name, 
            ILocalizableString displayName = null, 
            bool isGrantedByDefault = false, 
            ILocalizableString description = null, 
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            //权限字典中是否包含指定的键
            if (Permissions.ContainsKey(name))
            {
                //权限字典中已经包含这个权限,名称为:
                throw new AbpException("There is already a permission with name: " + name);
            }

            var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides, featureDependency);
            Permissions[permission.Name] = permission;
            return permission;
        }
예제 #37
0
        /// <summary>
        /// Creates a new Permission.
        /// </summary>
        /// <param name="name">Unique name of the permission</param>
        /// <param name="displayName">Display name of the permission</param>
        /// <param name="description">A brief description for this permission</param>
        /// <param name="multiTenancySides">Which side can use this permission</param>
        /// <param name="featureDependency">Depended feature(s) of this permission</param>
        public Permission(
            string name,
            ILocalizableString displayName = null,
            ILocalizableString description = null,
            MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
            IFeatureDependency featureDependency = null)
        {
            if (name == null)
            {
                throw new ArgumentNullException("name");
            }

            Name = name;
            DisplayName = displayName;
            Description = description;
            MultiTenancySides = multiTenancySides;
            FeatureDependency = featureDependency;

            _children = new List<Permission>();
        }
예제 #38
0
 public IReadOnlyList<Permission> GetAllPermissions(MultiTenancySides multiTenancySides)
 {
     return Permissions.Values
         .Where(p => p.MultiTenancySides.HasFlag(multiTenancySides))
         .ToImmutableList();
 }
 public StaticRoleDefinition(string roleName, MultiTenancySides side)
 {
     RoleName = roleName;
     Side = side;
 }
 public DbPerTenantConnectionStringResolveArgs(int? tenantId, MultiTenancySides? multiTenancySide = null)
     : base(multiTenancySide)
 {
     TenantId = tenantId;
 }
예제 #41
0
 /// <summary>
 /// Adds a child permission.
 /// A child permission can be granted only if parent is granted.
 /// </summary>
 /// <returns>Returns newly created child permission</returns>
 public Permission CreateChildPermission(
     string name, 
     ILocalizableString displayName = null, 
     bool isGrantedByDefault = false, 
     ILocalizableString description = null, 
     MultiTenancySides multiTenancySides = MultiTenancySides.Host | MultiTenancySides.Tenant,
     IFeatureDependency featureDependency = null)
 {
     var permission = new Permission(name, displayName, isGrantedByDefault, description, multiTenancySides, featureDependency) { Parent = this };
     _children.Add(permission);
     return permission;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="MultiTenancySideAttribute"/> class.
 /// </summary>
 /// <param name="side">Multitenancy side.</param>
 public MultiTenancySideAttribute(MultiTenancySides side)
 {
     Side = side;
 }
 public AbpMultiTenancySidesConfigDto()
 {
     Host = MultiTenancySides.Host;
     Tenant = MultiTenancySides.Tenant;
 }