- 时间:2022-05-01 11:27 编辑: 来源: 阅读:
- 扫一扫,手机访问
摘要:sqlserver 用户权限管理,LINQ去除它的重复菜单项
Menu,这三个表之间有如下关系:
User_Role=>RoleId=>RoleMenu
RoleMenu=>MenuId=>Menu
它们之间的业务关系是:
当用户登陆后,通过UserId得到User_Role列表,将用户所包括的角色得出
通过User_Role找到所有对应Menu
现在有个问题,就是一个用户可以有多少角色,一个角色有多个菜单,当然,两个不同的角色可以有相当的菜单项,这时,就出现一个问题,用户在“管理员”这个角色里有“文件”这个菜单,同时它在“新闻管理员”这个角色里也有“文件”这个菜单,这样返回就会出现两个完成相同的”文件“菜单,下面,我使用匿名类和distinct方法来解决这个问题,代码如下:
[url=http://www.1sucai.cn/upload/201108/20110828220339213.png][img]http://files.jb51.net/upload/201108/20110828220340344.png[/img]
[/url]