Asp.net mvc 我如何要求在控制器中设置特定的会话对象?
是否有可以在控制器方法上设置的注释/属性,以使控制器操作需要在我的会话中设置特定的键Asp.net mvc 我如何要求在控制器中设置特定的会话对象?,asp.net-mvc,Asp.net Mvc,是否有可以在控制器方法上设置的注释/属性,以使控制器操作需要在我的会话中设置特定的键 我正在寻找一种方法(而不是表单身份验证)来进行某种智能授权。您可以在自己的类中扩展actionfilteratAttribute,并重写OnActionExecuting方法。此方法将在进入操作之前被激发: public class RequireSessionSet : ActionFilterAttribute { public override void OnActionExecuting(Actin
我正在寻找一种方法(而不是表单身份验证)来进行某种智能授权。您可以在自己的类中扩展
actionfilteratAttribute
,并重写OnActionExecuting
方法。此方法将在进入操作之前被激发:
public class RequireSessionSet : ActionFilterAttribute {
public override void OnActionExecuting(ActinExecutingContext filterContext) {
if (filterContext.HttpContext.Session["Foo"] == null) {
// Redirect or do something.
}
}
}
然后可以对任何操作进行注释:
[RequireSessionSet]
public ActionResult Index() {
}
编辑:
您还可以获得fancier并允许在属性中设置属性:
public class RequireSessionSet : ActionFilterAttribute {
public string SessionKey { get; set; }
public override void OnActionExecuting(ActinExecutingContext filterContext) {
if (string.IsNullOrWhiteSpace(SessionKey)) {
SessionKey = "Default";
if (filterContext.HttpContext.Session[SessionKey] == null) {
// Redirect or do something.
}
}
}
[RequireSessionSet(SessionKey="SpecialKey")]
public ActionResult Index() {
}