【转】ASP.NET MVC实现权限控制

这篇分享一下 ASP.NET MVC权限控制。也就是说某一用户登录之后,某一个用户是否有权限访问Controller,Action(操作),视图等

想实现这些功能,需要在数据库创建好几个表:[User],[Module],[Form],[Action],[Role],[RoleModule],[UserModule],[UserRole]。

[User]:是存储用户信息。
【转】ASP.NET MVC实现权限控制

[Module]:是存储ASP.NET的Controller名的表。整个专案中,所有需要管控的Controller均需要添加至此表中。

【转】ASP.NET MVC实现权限控制

[Form]和[Action]:是存储控制器的Action。只不过Insus.NET自己把它分开而已。
【转】ASP.NET MVC实现权限控制

【转】ASP.NET MVC实现权限控制

此2张表中,你会注意到有一个事件。它事件就是此Action的实际功能归属,此Action是Delete,Edit,Excute,Insert,Read,Update,Bulk Update。

[Role]:存储角色,管理员创建的角色权限全部存储于此。
【转】ASP.NET MVC实现权限控制

[RoleModule] :这表好理解,即是角色将拥有哪一些模块。

分配模块:
【转】ASP.NET MVC实现权限控制

在上面的分配模块中,你可以确定此角色对某一模块是有访问,插入,编辑等。

[UserModule]:这表是某一用户直接拥有哪些模块。

【转】ASP.NET MVC实现权限控制

[UserRole]:此表对应用户与角色相关,即用户归属哪一个角色:
【转】ASP.NET MVC实现权限控制

写一个存储过程,判断是否有权限,传入参数,用户,控制器,操作。

【转】ASP.NET MVC实现权限控制

最后写一个过滤器:
【转】ASP.NET MVC实现权限控制

思路与实现就这样子,理解了,什么都是简单的。

原文链接:http://www.cnblogs.com/insus/p/6211362.html

上一篇:如何在 Visual Studio 中使用 Git 同步代码到 CodePlex


下一篇:MVC 翻頁的那些坑