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

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

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


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

查看所有标签

猜你喜欢:

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

数据挖掘导论

数据挖掘导论

(美)Pang-Ning Tan、Michael Steinbach、Vipin Kumar / 机械工业出版社 / 2010-9 / 59.00元

本书全面介绍了数据挖掘的理论和方法,着重介绍如何用数据挖掘知识解决各种实际问题,涉及学科领域众多,适用面广。 书中涵盖5个主题:数据、分类、关联分析、聚类和异常检测。除异常检测外,每个主题都包含两章:前面一章讲述基本概念、代表性算法和评估技术,后面一章较深入地讨论高级概念和算法。目的是使读者在透彻地理解数据挖掘基础的同时,还能了解更多重要的高级主题。 本书特色 ·包含大量的图表、......一起来看看 《数据挖掘导论》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

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

Base64 编码/解码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具