MVC项目开发中那些用到的知识点(登录权限认证)

简介: 话说从开始接触MVC到现在也有一段时间了,记得好像是从2012年8月初开始做项目的。就记录一下自己所用到的且认为重要的知识点吧。 首先做的便是一个登录,那么就用到了登录权限认证: public class UserAuthentication : AuthorizeAttr...

     话说从开始接触MVC到现在也有一段时间了,记得好像是从2012年8月初开始做项目的。就记录一下自己所用到的且认为重要的知识点吧。

首先做的便是一个登录,那么就用到了登录权限认证:

    public class UserAuthentication : AuthorizeAttribute
    {
        public UserToUrlEnum UserToUrlEnum { get; set; }

        public UserAuthentication()
        {
            this.UserToUrlEnum = UserToUrlEnum.Login;
        }
        /// <summary>
        /// 视图响应前执行验证,查看当前用户是否有效
        /// </summary>
        public override void OnAuthorization(AuthorizationContext filterContext)
        {
            if (filterContext.HttpContext.Session.IsNewSession && string.IsNullOrEmpty(HttpContext.Current.User.Identity.Name))
            {
                switch (this.UserToUrlEnum)
                {
                    case UserToUrlEnum.Login:
                        {
                            HttpContext.Current.Response.Redirect("~/Account/Login"
                                , true);
                        }
                        break;
                }
            }
        }
    }

此类首先有继承AuthorizeAttribute,重载OnAuthorization此方法,以便与在每次触发Action之前调用此方法,检验是否已经登录以及用户是否已经过期。如果过期或者没登录,那么就会自动返回到登录页面,要求登录。

刚刚说到了每次触发Action之前调用OnAuthorization此方法,那么如何触发呢:

        [UserAuthentication]
        public ActionResult RoleManagerPage()
        {
            return View();
        }

只需要在要检验的Action前加上该属性标识即可。也可以加到整个控制器上面。代码如下

    [UserAuthentication]
    public class SystemManagerController : Controller

那么此控制器下的每个Action在执行的时候都会做用户登录权限的认证。

用户如果没有登录,而是通过Url直接访问,那么就会跳转到登录页面,要求登录;或者用户长时间无操作,那么之前登录的用户将会过期,同样会跳转到登录页面。

当然还要在配置文件System.Web节点下添加  

  <authentication mode="Forms">       <forms loginUrl="~/Account/Login" protection="All" timeout="30" name=".ASPXAUTH" path="/" requireSSL="false" slidingExpiration="true" defaultUrl="~/Home/Index" cookieless="UseDeviceProfile" enableCrossAppRedirects="false"/>     </authentication>

目录
相关文章
|
2月前
|
前端开发 Java 数据格式
10个知识点让你读懂spring MVC容器
随着 Spring Boot 逐步全面覆盖到我们的项目之中,我们已经基本忘却当年经典的 Servlet + Spring MVC 的组合,那让人熟悉的 web.xml 配置。而本文,我们想先抛开 Spring Boot 到一旁,回到从前,一起来看看 Servlet 是怎么和 Spring MVC 集成,怎么来初始化 Spring 容器的。
36 1
|
2月前
|
前端开发 Java Maven
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
Spring-Spring MVC + Spring JDBC + Spring Transaction + Maven 构建web登录模块
70 0
|
前端开发 Java Spring
《Spring MVC》 第八章 拦截器实现权限验证、异常处理
《Spring MVC》 第八章 拦截器实现权限验证、异常处理
186 0
|
存储 前端开发 Java
Spring MVC 实战:三种方式获取登录用户信息
前言 Web 项目中,维持用户登录状态的常用方式有三种,分别是 Cookie、Session、Token,不管哪种方案,都需要获取到用户信息供业务层使用。
431 0
Spring MVC 实战:三种方式获取登录用户信息
|
缓存 前端开发 Oracle
基于 .NET Core MVC 的权限管理系统
基于.NET Core Web开发,借鉴了很多开源项目的优点,让你开发Web管理系统和移动端Api更简单。它可以用于所有的Web项目,例如网站管理后台、CMS、CRM、ERP、OA这类的系统和移动端Api。
286 0
基于 .NET Core MVC 的权限管理系统
|
XML 缓存 JSON
Spring MVC 阅读官方文档知识点总结
Spring MVC 阅读官方文档知识点总结
156 8
|
设计模式 XML 存储
Android实战 | 详解MVC、MVP模式并分别实现登录界面案例
Android实战 | 详解MVC、MVP模式并分别实现登录界面案例
|
前端开发 Java 数据库连接
MVC模式和三层架构-登录注册增删改查案例-(详细案例)
MVC模式和三层架构-登录注册增删改查案例-(详细案例)
MVC模式和三层架构-登录注册增删改查案例-(详细案例)
|
XML 前端开发 数据处理
Android——MVC、MVP、MVVM框架实现登录示例
MVC 描述 缺点 优点 MVP 效果图 描述 缺点 优点 代码解析 视图效果图 建立实体类 建立实体类接口 实现实体类接口 设置P层 建立交互接口 数据绑定 MVVM 效果图 描述 代码解析 导入dataBinding 实体类 建立viewmodel xml绑定数据 视图与数据绑定
402 0
Android——MVC、MVP、MVVM框架实现登录示例
|
前端开发 Java API
【Spring MVC】(三)搭建Spring MVC+Spring+JDBC框架以及在此框架上进行项目开发2
【Spring MVC】(三)搭建Spring MVC+Spring+JDBC框架以及在此框架上进行项目开发2
96 0
【Spring MVC】(三)搭建Spring MVC+Spring+JDBC框架以及在此框架上进行项目开发2