diff --git a/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs b/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs index ff5eecff..51d0a22b 100644 --- a/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs +++ b/OpenAuth.App/AuthStrategies/AuthStrategyContext.cs @@ -74,17 +74,6 @@ namespace OpenAuth.App return _strategy.GetTableColumns(moduleCode); } - /// - /// 获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式 - /// - /// - /// - [Obsolete("获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式")] - public List GetTableColumnsFromDb(string moduleCode) - { - return _strategy.GetTableColumnsFromDb(moduleCode); - } - } } diff --git a/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs b/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs index e6248ab2..c0dbebf8 100644 --- a/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs +++ b/OpenAuth.App/AuthStrategies/NormalAuthStrategy.cs @@ -148,24 +148,6 @@ namespace OpenAuth.App return allprops.Where(u => props.Contains(u.ColumnName)).ToList(); } - public List GetTableColumnsFromDb(string moduleCode) - { - var allprops = _dbExtension.GetTableColumnsFromDb(moduleCode); - - //如果是系统模块,直接返回所有字段。防止开发者把模块配置成系统模块,还在外层调用loginContext.GetProperties("xxxx"); - bool? isSysModule = SugarClient.Queryable().First(u => u.Code == moduleCode)?.IsSys; - if (isSysModule!= null && isSysModule.Value) - { - return allprops.ToList(); - } - - var props =SugarClient.Queryable().Where(u => - u.RelKey == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode) - .Select(u => u.ThirdId).ToList(); - - return allprops.Where(u => props.Contains(u.ColumnName)).ToList(); - } - //用户角色 public NormalAuthStrategy(ISqlSugarClient client,DbExtension dbExtension) : base(client, null) diff --git a/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs b/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs index ad94b38f..13db3e01 100644 --- a/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs +++ b/OpenAuth.App/AuthStrategies/SystemAuthStrategy.cs @@ -85,11 +85,6 @@ namespace OpenAuth.App return SugarClient.Queryable().Where(u => u.TableName.ToLower() == moduleCode.ToLower()).ToList(); } - public List GetTableColumnsFromDb(string moduleCode) - { - return _dbExtension.GetTableColumnsFromDb(moduleCode); - } - public SystemAuthStrategy(ISqlSugarClient client,DbExtension dbExtension) : base(client, null) { diff --git a/OpenAuth.App/DbExtension.cs b/OpenAuth.App/DbExtension.cs index 559869e4..141c2053 100644 --- a/OpenAuth.App/DbExtension.cs +++ b/OpenAuth.App/DbExtension.cs @@ -31,53 +31,6 @@ namespace OpenAuth.App SugarClient = sugarClient; } - /// - /// 通过实体获取字段定义,因为MVC版本没有代码生成界面,只能通过这种方式 - /// - /// 模块名称/表名 - /// - [Obsolete("因为MVC版本没有代码生成界面,只能通过这种方式")] - public List GetTableColumnsFromDb(string moduleName) - { - var result = new List(); - - //获取所有继承了StringEntity的类型 - //单元测试时,这个一直报错????奇怪 - var entiTypes = typeof(StringEntity).Assembly.GetTypes().Where(u => typeof(StringEntity).IsAssignableFrom(u) && !u.IsAbstract).ToList(); - - var entityType = entiTypes.FirstOrDefault(u => u.Name.ToLower() == moduleName.ToLower()); - if (entityType == null) - { - throw new Exception($"未能找到{moduleName}对应的实体类"); - } - - foreach (var property in entityType.GetProperties()) - { - object[] objs = property.GetCustomAttributes(typeof(DescriptionAttribute), true); - object[] browsableObjs = property.GetCustomAttributes(typeof(BrowsableAttribute), true); - var description = objs.Length > 0 ? ((DescriptionAttribute)objs[0]).Description : property.Name; - if (string.IsNullOrEmpty(description)) description = property.Name; - //如果没有BrowsableAttribute或 [Browsable(true)]表示可见,其他均为不可见,需要前端配合显示 - bool browsable = browsableObjs == null || browsableObjs.Length == 0 || - ((BrowsableAttribute)browsableObjs[0]).Browsable; - var typeName = property.PropertyType.Name; - if (Nullable.GetUnderlyingType(property.PropertyType) != null) - { - typeName = Nullable.GetUnderlyingType(property.PropertyType).Name; - } - result.Add(new BuilderTableColumn - { - ColumnName = property.Name, - TableName = moduleName, - Remark = description, - IsList = browsable, - ColumnType = typeName - }); - } - - return result; - } - /// /// 获取数据库表结构信息 /// diff --git a/OpenAuth.App/Interface/IAuthStrategy.cs b/OpenAuth.App/Interface/IAuthStrategy.cs index 24a3073d..536350c9 100644 --- a/OpenAuth.App/Interface/IAuthStrategy.cs +++ b/OpenAuth.App/Interface/IAuthStrategy.cs @@ -46,13 +46,6 @@ namespace OpenAuth.App /// /// List GetTableColumns(string moduleCode); - /// - /// 获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式 - /// - /// - /// - [Obsolete("获取角色可访问的字段信息,因为MVC版本没有代码生成器,所以只能通过直接读取数据库表结构的方式")] - List GetTableColumnsFromDb(string moduleCode); } } \ No newline at end of file diff --git a/OpenAuth.App/Test/TestDbExtension.cs b/OpenAuth.App/Test/TestDbExtension.cs index 51813ad0..1115f7be 100644 --- a/OpenAuth.App/Test/TestDbExtension.cs +++ b/OpenAuth.App/Test/TestDbExtension.cs @@ -9,16 +9,6 @@ namespace OpenAuth.App.Test class TestDbExtension :TestBase { private ILog log = LogManager.GetLogger(typeof(TestDbExtension)); - - [Test] - public void TestGetProperties() - { - - var app = _autofacServiceProvider.GetService(); - - var result = app.GetTableColumnsFromDb("Category"); - Console.WriteLine(JsonHelper.Instance.Serialize(result)); - } [Test] public void TestGetTables()