MVC 自定义属性验证登录
1.新建自定义属性类
public class BaseFilterAttribute : FilterAttribute, IAuthorizationFilter{/// <summary>/// 自定义扩展属性,验证用户登录/// </summary>/// <param name="filterContext">AuthorizationContext 类将封装有关控制器、HTTP 上下文、请求上下文、路由数据、操作描述符和操作结果的信息。</param>public void OnAuthorization(AuthorizationContext filterContext){if (filterContext.HttpContext == null){throw new Exception("HTTP 上下文不存在!");}if (filterContext.HttpContext.Session == null){throw new Exception("服务器Session不可用!");}if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true)) return;if (filterContext.HttpContext.Session[ConfigHelper.SessionCookieKey] != null) return;//if(filterContext.HttpContext.Request.Cookies[ConfigHelper.SessionCookieKey]==null)// filterContext.Result = new RedirectResult("~/Views/Account/Login.cshtml");if (CookiesHelper.GetCookie(ConfigHelper.SessionCookieKey) == null)filterContext.Result = new RedirectResult(ConfigHelper.SessionCookieReturnUrl);}}
2.在相关的Controller类添加该自定义属性
[BaseFilter]public class PreListController : BaseController{}
3.设置不用验证的相关的方法允许匿名访问
[AllowAnonymous]public ActionResult Login(){return View();}
转载于:https://www.cnblogs.com/FH-cnblogs/p/5644498.html
MVC 自定义属性验证登录相关推荐
- MVC用AuthorizeAttribute登录验证
下面代码可实现记录返回登录页时的地址,时时验证登录信息 (由软谋eleven老师提供) /// <summary>/// ajax跟exception一致/// 检验登陆和权限的filte ...
- Asp.Net MVC 身份验证-Forms
Asp.Net MVC 身份验证-Forms 在MVC中对于需要登录才可以访问的页面,只需要在对应的Controller或Action上添加特性[Authorize]就可以限制非登录用户访问该页面.那 ...
- 本地ASP.NET开发页面使用AzureAD(AAD)验证登录
Azure和Office365已不是一个热门话题了,因为所谓的云时代已经走进了技术大师们的内心,大家多少有一定了解了,所以就不多介绍了,我的Blog中之前也写了很多关于Azure及Office365的 ...
- MVC登陆验证操作流程
MVC登陆验证操作流程 下面我们来了解MVC登陆验证操作流程 首先我也先搭建一个登陆页面,页面内容包括用户帐号,密码,验证码,具体身份,等输入框,对输入内容传到控制器进行验证匹配.当用户点击登陆时进行 ...
- MVC Model验证总结 @Html.ValidationSummary(true)
原文:https://blog.csdn.net/wybshyy/article/details/52064253 ASP.NET MVC3中的Model是自验证的,这是通过.NET4的System. ...
- 二、SpringSecurity 自定义手机验证登录方式
简介 在上一篇文章中,我们介绍了如何搭建一套基于SpringSecuity的项目框架,并且进行了演示,本文将继续扩展项目功能,实现自定义用户登录功能. 项目源码仓库:Gitee 代码分支:lesson ...
- SharePoint 客户端经常弹出Windows验证登录框问题
场景描述: Site工作人员UserA创建了一个Task,并且Assign给UserB.UserB接到来自Task List的邮件通知.这时UserA发现Assign的人错了,重新修改Task Ite ...
- 配置Open***使用User/Pass方式验证登录
Open***和PPTP ***相比存在诸多的优势,最明显的是Open***支持NAT穿越,也就是说在nat环境下使用open***只需要一个在路由器上做一个端口映射即可!不需要其他路由的支持,要知道 ...
- ASP.NET MVC 5 - 验证编辑方法(Edit method)和编辑视图(Edit view)
在本节中,您将验证电影控制器生成的编辑方法(Edit action methods)和视图.但是首先将修改点代码,使得发布日期属性(ReleaseDate)看上去更好.打开Models \ Movie ...
最新文章
- 从Nginx源码谈大小写字符转化的最高效代码以及ASCII码表的科学
- [原创] Neo.Geo 视频帧浏览器开发日志
- 计算机系统计算机,计算机系统与计算机化系统的区别
- oracle还原脚本,oracle自动恢复脚本
- 黄聪:WordPress动作钩子函数add_action()、do_action()源码解析
- 网站漏洞修复之CSRF跨站攻击
- 无密码如何破解PDF加密
- 计算机策略 提高网速,win10增加网速的方法_win10如何提高电脑网速
- 虞老师在PRCV2021的Talk-Neural Human Reconstruction:From Rendering to Modeling
- GPS测量中四参数、七参数的概念及意义
- 网页加载过程+性能优化+安全
- hr面试性格测试30题_人事面试--测试篇--30
- Mac安装软件提示“已损坏,无法打开”的解决办法
- java中通物流api详解
- 虾皮运营之不实折扣有多严重?堪比双十一 虾皮运营技巧
- 我把csdn版权标志隐藏了.
- HTML标签 链接 CSS样式
- AI每日小练习之磨砂玻璃质感图标
- Endnote新手使用指南——终于解决EndNote困扰我一晚上的难题,其实很简单!
- python可视化编程(pyQT designer)安装及入门教程
热门文章
- 如何完整卸载wxpython_TextCtrl的WXPython C++部分被删除
- 嵌入式Linux入门9:Linux系统使用
- 【kafka】kafka 同时建立很多消费者 会怎么样
- 95-00-030-环境-IDEA构建源码阅读环境
- 50-20-010-kafka 配置-Listeners
- 【Kafka】Kafka Schema Registry 原理
- 【Nexus3】使用-Nexus3批量上传jar包 artifact upload
- 95-190-450-源码-window-Trigger-ContinuousProcessingTimeTrigger
- NullPointerException : HiveAuthorizerImpl.checkPrivileges(HiveAuthorizerImpl.java:85)
- MySQL日期处理-查询间隔数据