2013-08-24 88 views
1

我是新來的MVC,這個問題可能是一個新手問題。我在網上看到了關於Authorize屬性的示例。在這些例子中,作者控制器代碼如下所示授權屬性和InitializeSimpleMembership

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

但是,如果你檢查的AccountController你會發現,

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

所以我的問題是爲什麼筆者不能簡單地用[Authorize]沒有初始化簡單會員在someController,因爲如果它到達帳戶控制器它將被任何方式初始化。

回答

2

當你使用InitializeSimpleMembership屬性時,它意味着你可能不會在你的應用程序的每個地方使用成員資格,所以如果你不使用成員資格,你可能不想浪費它的資源,所以屬性初始化簡單成員資格應用程序在運行時,如果您確信應用程序將使用簡單的成員資格,您可以將這行代碼添加到應用程序中,在global.asax WebSecurity.InitializeDatabaseConnection("DefaultConnection", "UserProfile", "UserId", "UserName", autoCreateTables: true);開始,然後在每個位置獲取InitializeSimpleMembership屬性,也許作者認爲該成員資格不會「沒有太多的用例,因此決定放置該屬性,並且可能在調用AccountController的任何操作之前應用程序使用SomeController