如何在整个ASP .NET MVC应用程序中要求授权

尤达

我创建了应用程序,在该应用程序中,除了允许登录的用户之外,其他所有操作都应超出限制。

我应该[Authorize]在每个班级的标题前添加注释吗?像这儿:

namespace WebApplication2.Controllers {
[Authorize]
    public class HomeController : Controller {




        public ActionResult Index() {
            return View();
        }

        public ActionResult About() {
            ViewBag.Message = "Your application description page.";

            return View();
        }

        public ActionResult Contact() {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

或有捷径吗?如果我想更改特定控制器中唯一动作的规则怎么办?

戴维

最简单的方法是Authorize在过滤器配置中添加属性,以将其应用于每个控制器。

public class FilterConfig
{
    public static void RegisterGlobalFilters(GlobalFilterCollection filters)
    {
        filters.Add(new HandleErrorAttribute());

        //Add this line
        filters.Add(new AuthorizeAttribute());
    }
}

另一种方法是让所有控制器都从基类继承。我经常这样做,因为几乎所有控制器都可以使用一些共享代码:

[Authorize]
public abstract class BaseSecuredController : Controller
{
    //Various methods can go here
}

现在Controller,您的所有控制器都应该继承这个新类,而不是继承自

public class MySecureController : BaseSecuredController
{
}

注意:AllowAnonymous当您需要非登录用户访问属性时,不要忘记添加属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何对ASP.NET MVC Web应用程序进行授权的HttpWebRequest

如何在ASP.NET MVC应用程序中的MVCMailer中处理异常

什么是应用程序变量?如何在ASP.NET MVC中声明应用程序变量?

如何在RedHat OS中运行asp.net MVC4 Web应用程序

如何在ASP.NET MVC中获取Web应用程序的基本URL?

如何在asp.net core MVC应用程序中添加页面列表?

如何在ASP .Net Core 3.1 MVC应用程序中调试JavaScript(剃刀视图-* .cshtml)?

如何在 IIS 中托管 asp.net core MVC 应用程序?

如何在Dynamics 365中添加子应用程序(使用asp.net mvc开发)?

如何在.NET Core应用程序中创建和实现授权过滤器

ASP.NET MVC应用程序中的分页

在 ASP.NET MVC 应用程序中安装 Bootstrap

如何修复或摆脱ASP.NET Razor应用程序中的ESLint定义要求?

Azure中的ASP.NET MVC应用程序以及MySQL应用程序内

如何在ASP.NET Core 2.0 MVC应用程序的HomeController中获取当前的外部提供程序

如何在Web应用程序ASP.net MVC中嵌入C#.net控制台应用程序

多租户spa应用程序和授权中的Identityserver和asp.net身份

ASP.NET MVC:如何绕过MVC应用程序中的控制器?

如何使用Microsoft Graph API在.net核心应用程序中获取所有授权组?

.net核心应用程序中如何基于组进行授权?

如何在ASP Net Core MVC应用程序中从Azure AD B2C获取用户列表?

如何在ASP.NET MVC 5.2.3应用程序中的其他位置获取IAppBuilder实例?

如何在Visual Studio 2012中更改ASP.NET MVC Web应用程序的SSL端口号

如何在ASP .NET MVC 5 Web应用程序的Seed方法中通过UserManager创建ApplicationUser

我们如何在Visual Studio Code中调试ASP.NET MVC Web应用程序?

Office 365 Outlook日历:如何在单个ASP.NET MVC应用程序中访问多个用户的日历?

如何在ASP.Net MVC 5应用程序的JQueryUI DatePicker中设置最小和最大日期

如何在Visual Studio Community 2013中创建ASP.NET MVC 5 Web应用程序?

如何在ASP.NET MVC和C#应用程序中以编程方式修改web.config?