如菜单表。
每个角色能够看到的菜单是不同的。
项目方案:
登录时取得能看到哪些菜单,如: Id: 1,2,3,4,10
在对查询时,截获 OnReading 事件,对Where条件进行加工,添加 Id in( 1,2,3,4,10)
设置当前执行上下文
using (var conf = new MyOqlConfigScope(ReConfigEnum.SkipPower)) { //不进行权限过滤,可劲查。 return usr; }
ReConfigEnums是一个MyOql内部枚举,定义如下:
/// <summary> /// 配置MyOql作用域 /// </summary> [Flags] public enum ReConfigEnum { /// <summary> /// 忽略权限验证 /// </summary> SkipPower = 0x1, /// <summary> /// 忽略使用缓存 /// </summary> SkipCache = 0x2, /// <summary> /// 忽略Log /// </summary> SkipLog = 0x4, /// <summary> /// 使用DbName,不进行转义 /// </summary> UseDbName = 0x8, ///// <summary> ///// 不使用列别名 ///// </summary> //IgnoreDbAliasName = 0x16, /// <summary> /// 脏读模式,不读取未提交信息。 /// </summary> ReadPast = 0x20, /// <summary> /// 脏读模式,读取未提交信息 /// </summary> NoLock = 0x40, /// <summary> /// 默认的等待事务完成模式。 /// </summary> WaitLock = 0x80, /// <summary> /// 截断长度存入数据库(插入,更新时) /// </summary> CutLength2Db = 0x100, /// <summary> /// 使用显式ID /// </summary> IdentityInsert = 0x1000, }
时间: 2024-09-19 17:43:36