【问题标题】:AuthorizeAttribute v Application_AuthenticateRequestAuthorizeAttribute v Application_AuthenticateRequest
【发布时间】:2012-01-12 14:57:56
【问题描述】:

我们想要授权用户,如果他们被授权,我们想要将他们的角色和权限添加到用户并将其添加到 IPrinciple

我们有两种方法,一种是在 global.asax Application_AuthenticateRequest 中进行,另一种是创建一个继承自 AuthorizeAttribute 的属性

这里有什么闪闪发光的好选择吗?

【问题讨论】:

    标签: c# asp.net-mvc asp.net-mvc-3 authorize-attribute


    【解决方案1】:

    在 ASP.NET MVC 中,您应该更喜欢自定义授权属性。另一方面,如果您希望此代码可用于经典 ASP.NET 应用程序,则可以使用 Application_AuthenticateRequest 或编写自定义 HttpModule 并使用 AuthenticateRequest 事件。

    【讨论】:

    • 是的——我的直觉告诉我的。关于为什么首选它的任何信息?
    • @iwayneo,我想到的一件事是 ASP.NET MVC 为您抽象了许多 HttpContext 特定类,使您的代码更容易单独进行单元测试。如果您将代码放在 Global.asax 中,您可能会使用我个人不喜欢使用的静态和密封类。这就是为什么我更喜欢 MVC 的做事方式。但这当然是主观的。两者都是可能的。我在这里仅表达我的个人喜好。
    猜你喜欢
    • 2011-01-02
    • 1970-01-01
    • 2010-11-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    相关资源
    最近更新 更多