对于在使用WebSecurity时遇到的所有奇怪异常感到有点失望。与OAuth的不良整合也不会让它看起来更漂亮。考虑放弃概念并手动编写整个用户管理......
无论如何,我使用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);
}
这次我做错了什么?
答案 0 :(得分:3)
你试过了吗?
Membership.DeleteUser(username);