2
對於我在使用WebSecurity時遇到的所有奇怪異常感到有點失望。此外,與OAuth的差融合並沒有使它看起來更漂亮。考慮放棄概念並手動編寫整個用戶管理...WebSecurity SimpleMembershipProvider不能一起工作?
無論如何,我正在使用WebSecurity管理用戶和密碼。現在我嘗試實現可以刪除帳戶的部分。奇怪的是,這個方法不在靜態類WebSecurity上。顯然我需要通過SimpleMembershipProvider刪除賬戶。
var provider = new SimpleMembershipProvider();
provider.DeleteAccount(username);
的deleteAccount方法拋出以下消息InvalidOperation異常:
You must call the "WebSecurity.InitializeDatabaseConnection" method before you call
any other method of the "WebSecurity" class. This call should be placed in an
_AppStart.cshtml file in the root of your site.
嗯,這很奇怪,因爲我已經有這個在我_ViewStart(否則我不會已經能夠創建帳戶首先)。
if (!WebSecurity.Initialized)
{
WebSecurity.InitializeDatabaseConnection(
"DefaultConnection",
"Users",
"UserId",
"UserName",
true);
}
這次我做錯了什麼?
我猜你贏得你的徽章是有原因的:)。這樣可行!你能否介紹一下這個壽命?何時使用SimpleMembershipProvider?當我將自定義數據庫定義爲用戶帳戶存儲時? – bas
在ASP.NET MVC 4中,默認的成員資格提供者是'SimpleMembershipProvider'。所以,當你使用'Membership'類時,你已經在使用它了。您不需要使用成員資格提供程序特定的調用來污染代碼,例如實例化一個新的SimpleMembershipProvider,然後調用它。您的代碼不起作用,因爲您從未初始化您創建的SimpleMembershipProvider的新實例。 –
thx很多澄清達林! – bas