授权属性和InitializeSimpleMembership

时间:2013-08-24 15:09:24

标签: c# asp.net-mvc

我是MVC的新手,这个问题可能是一个新手问题。我在网上看到了关于Authorize属性的示例。在这些示例中,作者控制器代码看起来像这样

[Authorize]
[InitializeSimpleMembership]
Public class someController: Controller {...}

但是如果你检查AccountController,你会发现

[Authorize]
[InitializeSimpleMembership]
Public class AccountController: Controller {...}

所以我的问题是为什么作者不是简单地使用[Authorize]而没有初始化someController中的简单成员资格,因为如果它到达帐户控制器,它将以任何方式初始化。

1 个答案:

答案 0 :(得分:2)

当您使用InitializeSimpleMembership属性时,这意味着您可能不会在任何地方使用您的应用程序中的成员资格,因此如果您不使用成员资格,您可能不希望浪费资源,因此该属性初始化应用程序的简单成员资格在运行时,如果您确定应用程序将使用简单成员资格,您只需将此行代码添加到global.asax WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);中的应用程序启动,然后在每个地方获取InitializeSimpleMembership属性,也许作者认为成员资格没有太多的用例,所以决定把属性放到位,也许应用程序在调用AccountController的任何动作之前使用SomeController

相关问题