mirror of
https://gitee.com/dotnetchina/OpenAuth.Net.git
synced 2025-11-09 10:54:46 +08:00
fix issue #I42IFB 获取Oracle结构异常
fix issue #I462OD JSON解析异常 增加主表ParentId,可以同时添加主、从表结构 可以动态控制复杂界面显示编辑权限,采用代码生成的表定义来控制
This commit is contained in:
@@ -15,6 +15,7 @@
|
||||
// </summary>
|
||||
// ***********************************************************************
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Infrastructure;
|
||||
using OpenAuth.App.Response;
|
||||
@@ -62,11 +63,26 @@ namespace OpenAuth.App
|
||||
{
|
||||
get { return _strategy.Orgs; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取角色可以访问的字段信息,只是单纯的获取数据库
|
||||
/// </summary>
|
||||
/// <param name="moduleCode"></param>
|
||||
/// <returns></returns>
|
||||
[Obsolete("请使用GetTableColumns代替")]
|
||||
public List<KeyDescription> GetProperties(string moduleCode)
|
||||
{
|
||||
return _strategy.GetProperties(moduleCode);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 获取角色可以访问的字段信息
|
||||
/// </summary>
|
||||
/// <param name="moduleCode"></param>
|
||||
/// <returns></returns>
|
||||
public List<BuilderTableColumn> GetTableColumns(string moduleCode)
|
||||
{
|
||||
return _strategy.GetTableColumns(moduleCode);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
@@ -141,6 +141,24 @@ namespace OpenAuth.App
|
||||
return allprops.Where(u => props.Contains(u.Key)).ToList();
|
||||
}
|
||||
|
||||
public List<BuilderTableColumn> GetTableColumns(string moduleCode)
|
||||
{
|
||||
var allprops = UnitWork.Find<BuilderTableColumn>(u => u.TableName.ToLower() == moduleCode.ToLower());
|
||||
|
||||
//如果是系统模块,直接返回所有字段。防止开发者把模块配置成系统模块,还在外层调用loginContext.GetProperties("xxxx");
|
||||
bool? isSysModule = UnitWork.FirstOrDefault<Module>(u => u.Code == moduleCode)?.IsSys;
|
||||
if (isSysModule!= null && isSysModule.Value)
|
||||
{
|
||||
return allprops.ToList();
|
||||
}
|
||||
|
||||
var props =UnitWork.Find<Relevance>(u =>
|
||||
u.Key == Define.ROLEDATAPROPERTY && _userRoleIds.Contains(u.FirstId) && u.SecondId == moduleCode)
|
||||
.Select(u => u.ThirdId);
|
||||
|
||||
return allprops.Where(u => props.Contains(u.ColumnName)).ToList();
|
||||
}
|
||||
|
||||
//用户角色
|
||||
|
||||
public NormalAuthStrategy(IUnitWork<OpenAuthDBContext> unitWork, IRepository<User,OpenAuthDBContext> repository, DbExtension dbExtension) : base(unitWork, repository,null)
|
||||
|
||||
@@ -97,6 +97,11 @@ namespace OpenAuth.App
|
||||
return _dbExtension.GetProperties(moduleCode);
|
||||
}
|
||||
|
||||
public List<BuilderTableColumn> GetTableColumns(string moduleCode)
|
||||
{
|
||||
return UnitWork.Find<BuilderTableColumn>(u => u.TableName.ToLower() == moduleCode.ToLower()).ToList();
|
||||
}
|
||||
|
||||
|
||||
public SystemAuthStrategy(IUnitWork<OpenAuthDBContext> unitWork, IRepository<User,OpenAuthDBContext> repository, DbExtension dbExtension) : base(unitWork, repository, null)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user