asp.net-mvc – mvc 3 session和authorizeAttribute
发布时间:2020-12-16 07:23:33 所属栏目:asp.Net 来源:网络整理
导读:我的网站对所有人开放,但我有一个控制器,有一些方法,只有具有用户和密码的经理可以进入.我在会话中保存bool IsManager. 我想使用authorize属性来阻止IsManager == false的人. 解决方法 首先定义一个ActionFilter: public class TheFilter: ActionFilterAttr
我的网站对所有人开放,但我有一个控制器,有一些方法,只有具有用户和密码的经理可以进入.我在会话中保存bool IsManager.
我想使用authorize属性来阻止IsManager == false的人. 解决方法
首先定义一个ActionFilter:
public class TheFilter: ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { var session = filterContext.HttpContext.Session; if ((bool?)session["IsManager"] == true) return; //Redirect him to somewhere. var redirectTarget = new RouteValueDictionary {{"action","{ActionName}"},{"controller","{ControllerName}"}}; filterContext.Result = new RedirectToRouteResult(redirectTarget); } } 然后在受限制的Action(或控制器)上方使用它: //[TheFilter] public class ManagersController : Controller { [TheFilter] public ActionResult Foo() { ... return View(); } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- .net – 如何组织资源文件?
- [asp.net mvc 奇淫巧技] 03 - 枚举特性扩展解决枚举命名问题
- asp.net-mvc – 建立与SQL Server的连接时发生网络相关或特
- asp.net-mvc – ASP.NET MVC快速教程
- asp.net-mvc – 可以更改Html.DropDownListFor生成的html名
- asp.net – 从命令行更改web.config
- asp.net – SignalR 2.0超时连接
- 通过ASP.Net确定Windows Server的运行时
- asp.net dropdownlist – 在db值之前添加空行
- asp.net-mvc – ASP.NET中的Dapper,ODATA和IQueryable
推荐文章
站长推荐
- asp.net – 在Web.config帮助中定义tagPrefixes
- asp.net-mvc-2 – asp.net mvc中GetEnumerator的
- ASP.NET CORE(C#)与Spring Boot MVC(JAVA)
- asp.net-mvc – 将所有js文件捆绑在一个捆绑包中
- asp.net-mvc – 尝试使用Moq模拟HtmlHelper时抛出
- asp.net-mvc-4 – MapRoute for overload Action
- 在ASP.NET MVC Web API服务和MVC客户端体系结构中
- ASP.NET MVC3:在客户端的$Ajax请求之后,Request
- asp.net-mvc – Elmah.Mvc 2.0自定义身份验证
- asp.net-mvc-4 – 如何在MVC4中呈现远程ReportVi
热点阅读