【转】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

posted @ 2016-12-26 14:01  一叶、知秋  阅读(384)  评论(0编辑  收藏  举报