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

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

内容简介:我尝试使用谷歌搜索关于自定义属性的一些东西,但我仍然不确定如何去做….一旦用户登录,我就会在会话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


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

查看所有标签

猜你喜欢:

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

C语言编程:一本全面的C语言入门教程(第三版)

C语言编程:一本全面的C语言入门教程(第三版)

(美)Stephen Kochan / 张小潘 / 电子社博文视点资讯有限公司 / 2006年 / 59.00元

本书是极负盛名的C语言入门经典教材,其第一版发行至今已有20年的历史。本书内容详实全面,由浅入深,示例丰富,并在每个章节后面附有部分习题,非常适合读者自学使用。除此之外,《C语言编程》一书对于C语言标准的最新进展、C语言常见开发工具以及管理C语言大型项目等重要方面,也进行了深入浅出的说明。一起来看看 《C语言编程:一本全面的C语言入门教程(第三版)》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

Base64 编码/解码
Base64 编码/解码

Base64 编码/解码

URL 编码/解码
URL 编码/解码

URL 编码/解码