using System; using System.Collections.Generic; using System.Linq; using Infrastructure; using OpenAuth.Auth.Interface; using OpenAuth.Auth.Model; using OpenAuth.Repository; using OpenAuth.Repository.Domain; using SqlSugar; namespace OpenAuth.Auth.AuthStrategies { /// /// 领域服务 /// 超级管理员权限 /// 超级管理员使用-1,可以根据需要修改 /// public class SystemAuthStrategy : IAuthStrategy { ISqlSugarClient client; public SystemAuthStrategy(ISqlSugarClient client) { this.client = client; _user = new SysUser { Account = Define.SYSTEM_USERNAME, Name = "超级管理员", Id = -1 }; } protected SysUser _user; public List Modules { get { return client.Queryable() .Includes(a => a.Elements) .Select(a => new ModuleView { Elements = a.Elements }, true) .ToList(); } } public List Roles { get { return client.Queryable().ToList(); } } public List ModuleElements { get { return client.Queryable().ToList(); } } public List Resources { get { return client.Queryable < SysResource>().ToList(); } } public List Orgs { get { return client.Queryable < SysOrg>().ToList(); } } public List Positions { get { return client.Queryable < SysPosition>().ToList(); } } public SysUser User { get { return _user; } set //禁止外部设置 { throw new Exception("超级管理员,禁止设置用户"); } } } }