codecamp

数据权限

WTM框架支持关联表的数据权限

定义数据权限
系统支持哪些表的数据权限是需要在代码中定义的。比如下面的代码定义了系统需要将用户角色表作为一个数据权限:
  1. public class Program
  2. {
  3. public static void Main(string[] args)
  4. {
  5. BuildWebHost(args).Run();
  6. }
  7. public static IWebHost BuildWebHost(string[] args) =>
  8. WebHost.CreateDefaultBuilder(args)
  9. .ConfigureServices(x =>
  10. {
  11. List<IDataPrivilege> pris = new List<IDataPrivilege>();
  12. pris.Add(new DataPrivilegeInfo<TestRole>("测试角色", y => y.RoleName));
  13. x.AddFrameworkService(dataPrivilegeSettings: pris);
  14. x.AddLayui();
  15. })
  16. .Configure(x =>
  17. {
  18. x.UseFrameworkService();
  19. })
  20. .Build();
  21. }
配置数据权限

框架提供了一个系统管理模块,封装在WalkingTec.Mvvm.Admin中,其中就包括配置数据权限的功能,具体请参考框架管理模块中的数据权限管理功能

使用数据权限

数据权限的配置都记录在框架自带的DataPrivileges表中,自己编写查询语句或者存储过程时可以直接使用表中的数据

如果使用lambda编写查询语句,可以使用系统提供的DpWhere函数来简化数据权限的验证


数据库分库
路由
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

控制器

数据层

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }