学习MVC之租房网站(六)-用户登录和权限控制

在上一篇<学习MVC之租房网站(五)-权限、角色、用户管理>完成了权限、角色、用户的增删改查,现在将基于前面完成的内容,进行后台用户登录和权限控制功能的开发。

 


 

一、用户登录

用户登录涉及到密码的MD5校验、验证码、Session的保存等。基本过程为检查输入数据的合法性(前端用Validform控件、后端用DataAnnotation标签),合法性检查通过之后对比验证码然后对比用户名和密码,如果吻合则记录Session,登录成功,跳转到首页。

主要注意验证码的问题,一次登录失败后,要立即刷新验证码,不然验证码就失去了作用。可以使用基于Session封装的TempData,数据被读取一次后便失效。

 

 


 

二、权限控制

1. 自定义Attribute标签

自定义HasPermissionAttribute标签,用于在需要权限控制的方法上标记。[AttributeUsage(AttributeTargets.Method,AllowMultiple =true)]设置了该自定义标签用于对方法的标记,而且可以多次使用。

 

2. 实现OnAuthorization方法

AuthorizeFilter实现了IAuthorizationFilter接口,在每个控制器的方法被调用之前都会首先执行OnAuthorization方法,权限控制可在这儿进行。Filter是ASP.NET MVC对面向切面编程思想的实践,在权限控制、异常处理等方面,可以极大地提升代码的复用。

OnAuthorization中进行判断的流程为:该方法是否打了HasPermissionAttribute标签、是否登录、是否有权限。

 

3. 权限控制

在需要接受权限控制的方法上加上HasPermission标签,因为设置了AllowMultiple =true,所以可以进行多项权限的检查。

 

注:

课程内容来自如鹏网(www.rupeng.com),专注于大学生就业的在线教育平台;

ASP.NET MVC课程 http://www.rupeng.com/News/9/640.shtml

 

欢迎关注我的个人公众号【菜鸟程序员成长记】

posted @ 2017-04-24 21:06  zhixin9001  阅读(283)  评论(0编辑  收藏  举报