asp.net – ASP MVC授权所有操作除了几个
发布时间:2020-05-27 21:20:20 所属栏目:asp.Net 来源:互联网
导读:我有一个控制器,我想要求默认除了一对夫妇之外的所有操作的授权。因此,在下面的示例中,除Index之外,所有操作都需要认证。我不想装饰每个动作与授权,我只是想在某些情况下覆盖默认授权,可能是一个自定义过滤器,如NotAuthorize。 [Authorize]public clas
|
我有一个控制器,我想要求默认除了一对夫妇之外的所有操作的授权。因此,在下面的示例中,除Index之外,所有操作都需要认证。我不想装饰每个动作与授权,我只是想在某些情况下覆盖默认授权,可能是一个自定义过滤器,如NotAuthorize。 [Authorize]
public class HomeController : BaseController
{
[NotAuthorize]
public ActionResult Index()
{
// This one wont
return View();
}
public ActionResult About()
{
// This action will require authorization
return View();
}
}
解决方法好的,这是我做的。如果有更好的方式让我知道。public class NotAuthorizeAttribute : FilterAttribute
{
// Does nothing,just used for decoration
}
public class BaseController : Controller
{
protected override void OnActionExecuting(ActionExecutingContext filterContext)
{
// Check if this action has NotAuthorizeAttribute
object[] attributes = filterContext.ActionDescriptor.GetCustomAttributes(true);
if (attributes.Any(a => a is NotAuthorizeAttribute)) return;
// Must login
if (!filterContext.HttpContext.User.Identity.IsAuthenticated)
{
filterContext.Result = new HttpUnauthorizedResult();
}
}
} (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – AspNet Identity 2.0电子邮件和用户名重复
- 围绕ASP.NET会话跨多个选项卡窗口共享的方式
- asp.net-mvc – 如何在我的项目中实现强大的每个请求模式,同
- asp.net-mvc – OwinStartup没有开始…为什么?
- asp.net-mvc – RavenDB Ids和ASP.NET MVC3路由
- asp.net – __doPostBack在DotNetNuke网站上未定义为IE 10
- asp.net-mvc – DotNetOpenAuth:消息签名不正确
- 有没有相当于PrimeFaces for ASP.NET的东西?
- 你应该在哪里定期登录asp.net-mvc?你应该使用ELMAH吗?
- 在ASP.NET中创建搜索功能
推荐文章
站长推荐
- asp.net – CSS压缩和组合/ js缩小 – 在运行时或
- asp.net – 有效的密码加密
- asp.net-mvc – 测试ASP.NET MVC网站
- asp.net-mvc – 在asp.net mvc控制器中使用构造函
- asp.net-mvc – 安全地从MVC5项目中删除所有OWIN
- asp.net-mvc – 在模型/视图/控制器键盘快捷键之
- asp.net-mvc – 如何在ASP.NET应用程序中设置S-M
- asp.net – __dopostback未定义在IE 11上Windows
- asp.net-mvc – 具有SelectList(s)最佳实践的ASP
- asp.net – 什么放在会话变量中
热点阅读
