内容简介:我尝试使用谷歌搜索关于自定义属性的一些东西,但我仍然不确定如何去做….一旦用户登录,我就会在会话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
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- Go实现网站访问量控制(滑动窗口算法,类似利用Redis List数据结构属性)
- 类似Github的webhook实现
- 类似 Qt 的 GOSP 发布修复更新
- ASP实现类似hashMap功能的类
- 使用 Reactor 完成类似 Flink 的操作
- PHP实现类似题库抽题效果
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Effective C++
[美]Scott Meyers / 侯捷 / 电子工业出版社 / 2006-7 / 58.00元
《Effective C++:改善程序与设计的55个具体做法》(中文版)(第3版)一共组织55个准则,每一条准则描述一个编写出更好的C++的方式。每一个条款的背后都有具体范例支撑。第三版有一半以上的篇幅是崭新内容,包括讨论资源管理和模板(templates)运用的两个新章。为反映出现代设计考虑,对第二版论题做了广泛的修订,包括异常(exceptions)、设计模式(design patterns)......一起来看看 《Effective C++》 这本书的介绍吧!