权限控制最基本的体现在控制菜单,不同类型的用户登录后该看到什么菜单,不该看到什么菜单就是由权限来控制的。好一点的权限控制会控制到增、删、查、改。要实现控制菜单这个功能,首先要查询出下面这几张表。
数据库中可以用left join左连接来查询出没有权限对应的菜单,左连接查询从左边拿数据,没有就用null来代替。但是Linq查询中没有left join这个查询方法,所以在Linq中要拆成两个部分来写。先通过连表查询出模块这张表,可以先从用户这张表开始查询,也可以反过来从模块这张表开始查询。查询出来之后开始左连接,在Linq查询里面只能用into来左连接。查询出来的数据为null在后面不好处理,所以要判断一下查询出来的数据是否为null,如果是就赋值为0。
判断返回的参数是否等于空字符串,如果是就证明用户没有登录,没有登录就跳转到登录的页面。否则循环objModulars,判断obj.ID是否等于0,如果是就把这个模块拿出来。用remove这个方法,去掉没有权限对应的菜单。注:图中代码来自教学内容
权限控制
最新推荐文章于 2022-07-08 18:03:32 发布