zoukankan      html  css  js  c++  java
  • 学习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

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

  • 相关阅读:
    关于“平台”概念的解析
    学习新名词“MVP”(最简可行产品)
    Docker 部署Spring boot 项目如何优雅的关闭(Eureka下线)
    微服务健康监控方案
    Cpu飚高show-busy-java-threads一件脚本排查与Arthas线上诊断工具排查实战
    微服务发展规划(PS 大概分层未细化到具体系统)
    前后端分离研究
    Graphics2D画快递电子面单图片并且打印
    改写rm -rf 脚本
    检查系统信息脚本
  • 原文地址:https://www.cnblogs.com/zhixin9001/p/6753922.html
Copyright © 2011-2022 走看看