【转】ASP.NET MVC实现权限控制
这篇分享一下 ASP.NET MVC权限控制。也就是说某一用户登录之后,某一个用户是否有权限访问Controller,Action(操作),视图等
想实现这些功能,需要在数据库创建好几个表:[User],[Module],[Form],[Action],[Role],[RoleModule],[UserModule],[UserRole]。
[User]:是存储用户信息。
[Module]:是存储ASP.NET的Controller名的表。整个专案中,所有需要管控的Controller均需要添加至此表中。
[Form]和[Action]:是存储控制器的Action。只不过Insus.NET自己把它分开而已。
此2张表中,你会注意到有一个事件。它事件就是此Action的实际功能归属,此Action是Delete,Edit,Excute,Insert,Read,Update,Bulk Update。
[Role]:存储角色,管理员创建的角色权限全部存储于此。
[RoleModule] :这表好理解,即是角色将拥有哪一些模块。
分配模块:
在上面的分配模块中,你可以确定此角色对某一模块是有访问,插入,编辑等。
[UserModule]:这表是某一用户直接拥有哪些模块。
[UserRole]:此表对应用户与角色相关,即用户归属哪一个角色:
写一个存储过程,判断是否有权限,传入参数,用户,控制器,操作。
思路与实现就这样子,理解了,什么都是简单的。
原文链接:http://www.cnblogs.com/insus/p/6211362.html
喜欢本文章的朋友,欢迎关注公众号【程序员在职场】支持一下作者。
作者:程序员在职场
声明:本博客原创文字只代表本人工作中在某一时间内总结的观点或结论,与本人所在单位没有直接利益关系。非商业,未授权,贴子请以现状保留,转载时必须保留此段声明,且在文章页面明显位置给出原文连接。