asp.net-mvc-3 – 在ASP.NET MVC3中的自定义授权属性中使用操作参数
发布时间:2020-05-25 15:01:39 所属栏目:asp.Net 来源:互联网
导读:我有一个控制器,只能在加载特定参数时才请求授权。就像参数ID为8时一样。 我想出了使用这样的自定义验证属性: public class MyAuthorizeAttribute : AuthorizeAttribute{ protected override bool AuthorizeCore(HttpContextBase httpContext) { if
|
我有一个控制器,只能在加载特定参数时才请求授权。就像参数ID为8时一样。 我想出了使用这样的自定义验证属性: public class MyAuthorizeAttribute : AuthorizeAttribute
{
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (/* Action's inputparameter ID = 8 */)
{
return base.AuthorizeCore(httpContext);
}
return true;
}
}
我的行动看起来像这样(不是很有趣) [MyAuthorize]
public ActionResult Protected(int id)
{
/* custom logic for setting the viewmodel from the id parameter */
return View(viewmodel);
}
问题是您可以看到我不知道如何在authorize属性中检查该ID参数。 解决方法如果id作为请求参数(GET或POST)或路由数据参数传递:protected override bool AuthorizeCore(HttpContextBase httpContext)
{
// first look at routedata then at request parameter:
var id = (httpContext.Request.RequestContext.RouteData.Values["id"] as string)
??
(httpContext.Request["id"] as string);
if (id == "8")
{
return base.AuthorizeCore(httpContext);
}
return true;
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc-4 – 当模型中存在一对多关系时,MVC“创建视图
- asp.net-mvc – RavenDB Ids和ASP.NET MVC3路由
- 发布ASP.NET应用程序时,是否应该将构建类型更改为Visual St
- asp.net-mvc – Parallel Blob上传间歇性抛出404 Bad Reque
- 我可以在Razor中使用@helper语法返回一个字符串吗?
- asp.net-mvc-3 – Razor语法中的ValidateRequest
- asp.net-mvc-4 – 通过ADAL JavaScript Ajax和KnockoutJs的
- asp.net文件上传解决方案(图片上传、单文件上传、多文件上
- 重命名ASP.NET_SessionId
- asp.net-mvc – ASP.NET MVC – 什么是UrlRoutingModule?
推荐文章
站长推荐
- asp.net-mvc – WebAPI窗体身份验证SimpleMember
- asp.net – 如何正确过滤数据表(datatable.selec
- asp.net-mvc – MVC4中的ELMAH和API控制器不记录
- ASP.NET MVC 4和Razor 2:View引擎不再支持xml?
- asp.net-core – 虚拟目录中的IIS站点Swagger UI
- asp.net – 会话存储在客户端或服务器端
- 在ASP.NET MVC中使用MySQL的AccountController
- asp.net – 优雅地停止fastcgi-mono-server,网站
- asp.net-mvc-3 – 为什么_ViewStart.cshtml访问V
- 将自定义ValueProviderFactories添加到ASP.NET M
热点阅读
