WebSecurity SimpleMembershipProvider不能一起工作?

时间:2012-12-30 12:40:47

标签: asp.net asp.net-mvc authentication

对于在使用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);
        }

这次我做错了什么?

1 个答案:

答案 0 :(得分:3)

你试过了吗?

Membership.DeleteUser(username);