ASP.Net MVC 登录授权验证


public class Verify : AuthorizeAttribute
    {
        public override void OnAuthorization(AuthorizationContext filterContext)

        {
            var user = filterContext.HttpContext.Session["CurrentUser"];
            if (filterContext.ActionDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true))
            //判断是否Action判断是否跳过授权过滤器
            {
                return;
            }
            else if (filterContext.ActionDescriptor.ControllerDescriptor.IsDefined(typeof(AllowAnonymousAttribute), true))
            //判断是否Controller判断是否跳过授权过滤器
            {
                return;
            }
            else if (user == null || string.IsNullOrWhiteSpace(user.ToString()))
            //判断用户是否登录
            {
                filterContext.Result = new RedirectResult("../Login/Login");
            }
            else
            {
                return;
            }
        }
    }
全局授权验证public class FilterConfig
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
            filters.Add(new Verify());
        }
    }
   控制器授权验证    [Verify]
    public class LoginController : Controller
    {
     }
 public class LoginController : Controller
    {     方法授权验证
        [Verify]
        public ActionResult UserInfo(Models.UserInfo userInfo)
        {
        }
     }
public class LoginController : Controller
    {
        /// <summary>
        /// 登录
        /// </summary>
        /// <param name="userInfo"></param>
        /// <returns></returns>
        [HttpPost]
        [AllowAnonymous]//方法忽略验证
        public ActionResult Login(Models.UserInfo userInfo)
        {
         }
      }

原文地址:https://www.cnblogs.com/YunChao/p/11629077.html

时间: 2024-08-10 14:59:05

ASP.Net MVC 登录授权验证的相关文章

ASP.Net Core 2.1+ Cookie 登录授权验证【简单Cookie验证】

原文:ASP.Net Core 2.1+ Cookie 登录授权验证[简单Cookie验证] 介绍 本文章发布于博客园:https://www.cnblogs.com/fallstar/p/11310749.html 作者:fallstar 本文章适用于:ASP.NET Core 2.1 + 今天想给一个asp.net core 的项目加上权限验证,于是研究了一下怎么加, 折腾了好一阵,发现原来Filter的方式被放弃了,现在使用Policy 和 Scheme 的方式来校验了... 然后开始猛查

ASP.NET MVC的客户端验证:jQuery的验证

http://www.cnblogs.com/artech/archive/2012/06/17/client-validation-01.html 之前我们一直讨论的Model验证仅限于服务端验证,即在Web服务器根据相应的规则对请求数据实施验证.如果我们能够在客户端(浏览器)对用户输入的数据先进行验证,这样会减少针对服务器请求的频率,从而缓解Web服务器访问的压力.ASP.MVC 2.0及其之前的版本采用ASP.NET Ajax进行客户端验证,在ASP.NET MVC 3.0中,jQuery

ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现

原文:ASP.NET MVC的客户端验证:jQuery验证在Model验证中的实现 在简单了解了Unobtrusive JavaScript形式的验证在jQuery中的编程方式之后,我们来介绍ASP.NET MVC是如何利用它实现客户端验证的.服务端验证最终实现在相应的ModelValidator中,而最终的验证规则定义在相应的ValidationAttribute中:而客户端验证规则通过HtmlHelper<TModel>相应的扩展方法(比如TextBoxFor.EditorFor和Edid

ASP.NET MVC Cookie 身份验证

1 创建一个ASP.NET MVC 项目 添加一个 AccountController 类. public class AccountController : Controller { [HttpGet] public ActionResult Login(string returnUrl) { ViewBag.ReturnUrl = returnUrl; return View(); } [HttpPost] public ActionResult Login(string userName,

ASP.NET MVC 表单验证

ASP.NET MVC 框架验证每个传递给操作的数据是否有效,控制器操作可以通过查询ModelState来检查请求是否有效,例如,保存有效数据到数据库.后缀返回包含错误提示信息的原始表单给用户.这里是AuctionsController.Create操作,用于判断ModelState的有效性后进行“保存或者返回” 操作: [HttpPost] public ActionResult Create(Auction auction) { if(ModelState.IsValid) { var db

ASP.NET MVC 登录设计

这里的登录设计主要是针对ASP.NET 表单认证. 一.设计的一些要求 1.提供2个扩展点,一个用户对象模型接口(IUser),另一个就是成员访问接口(IMemberShipService). 2.采用ASP.NET 提供的认证实现类,保证了这个认证功能其安全性. 二.类图设计 三.说明 类图中1和2处,就是我公开的接口,运用于创建用户,登录时验证用户的密码等等.我们可以实现这个2个接口,达到我们想要的功能. 3处,是应用程序和ASP.NET 认证功能交互的地方,使用了ASP.NET推荐的表单认

ASP.NET MVC使用AuthenticationAttribute验证登录

首先,添加一个类AuthenticationAttribute,该类继承AuthorizeAttribute,如下: using System.Web; using System.Web.Mvc; namespace Zhong.Web { public class AuthenticationAttribute : AuthorizeAttribute { public override void OnAuthorization(AuthorizationContext filterConte

ASP.Net MVC Model(模型+验证)

本系列目录:ASP.NET MVC4入门到精通系列目录汇总 模型就是处理业务,想要保存.创建.更新.删除的对象. 注解(通过特性实现) DisplayName Required StringLength(20,MinimumLength=2) DataType(System.ComponentModel.DataAnnotations.DataType.MultilineText) RegularExpression(@"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-

ASP.NET MVC Session 过期验证跳转至登入页面

一.在要检查登入的控制器上继承 CheckLoginController 类 2. CheckLoginController 类的写法 using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Mvc; namespace TaskManagement.Controllers { public class CheckLoginController :