c# – 如果返回false,如何创建将重定向到Login的自定义属性,类似于Authorize属性 – ASP.NET MVC

栏目: ASP.NET · 发布时间: 7年前

内容简介:我尝试使用谷歌搜索关于自定义属性的一些东西,但我仍然不确定如何去做….一旦用户登录,我就会在会话cookie(ex UserID)中存储用户的一些重要细节..而我想要做的就是创建一个属性,如果if(Session [“UserID”] == null)

我尝试使用谷歌搜索关于自定义属性的一些东西,但我仍然不确定如何去做….

一旦用户登录,我就会在会话cookie(ex UserID)中存储用户的一些重要细节..而我想要做的就是创建一个属性,如果

if(Session [“UserID”] == null)

然后它会像[Authorize]属性一样重定向到登录.这样我就可以在各个控制器级别应用此属性.

我应该覆盖Authorize属性吗?创建一个新的?如何让它重定向到登录?

我也在使用ASP.NET MVC 4

谢谢你的帮助

您可以根据需要创建自定义AuthorizeAttribute并覆盖AuthorizeCore()和HandleUnauthorizedRequest().添加您自己的逻辑,如有必要,将执行检查和重定向.

我只是展示一个使用MVC的ActionFilterAttribute的简单示例(这不是进行身份验证/授权的最佳位置)

public class VerifyUserAttribute : ActionFilterAttribute
{
    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
        var user = filterContext.HttpContext.Session["UserID"];
        if (user == null)
            filterContext.Result = new RedirectResult(string.Format("/User/Login?targetUrl={0}",filterContext.HttpContext.Request.Url.AbsolutePath));
    }
}

在正确的用户验证后,不要忘记在/ User / Login操作方法中设置Session [“UserID”]变量.

翻译自:https://stackoverflow.com/questions/32925219/how-to-create-a-custom-attribute-that-will-redirect-to-login-if-it-returns-false


以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Modeling the Internet and the Web

Modeling the Internet and the Web

Pierre Baldi、Paolo Frasconi、Padhraic Smyth / Wiley / 2003-7-7 / USD 115.00

Modeling the Internet and the Web covers the most important aspects of modeling the Web using a modern mathematical and probabilistic treatment. It focuses on the information and application layers, a......一起来看看 《Modeling the Internet and the Web》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

MD5 加密
MD5 加密

MD5 加密工具

SHA 加密
SHA 加密

SHA 加密工具