【问题标题】:How to delete user accounts in asp.net?如何删除asp.net中的用户帐户?
【发布时间】:2012-03-08 15:33:53
【问题描述】:

我有一个注册页面,我使用以下Walkthrough: Creating a Web Site with Membership and User Login 来制作我的网页。问题是注册页面创建了用户,但我不知道如何从存储用户帐户的数据库中删除用户帐户。

【问题讨论】:

    标签: c# asp.net c#-4.0 forms-authentication


    【解决方案1】:

    成员资格提供者有一个 DeleteUser 方法。

    http://msdn.microsoft.com/en-us/library/w6b0zxdw.aspx

    以下也同样有效:

    Membership.DeleteUser("username");


    如果您想要基于 SQL 的解决方案:

    http://web.archive.org/web/20130407080036/http://blogs.rawsoft.nl/remco/post/2009/02/05/How-to-Remove-users-from-the-ASPNet-membership-database.aspx

    【讨论】:

    • 在管理员允许用户使用帐号之前,是否可以创建处于禁用状态的用户?
    • Membership.CreateUser() 方法有一个名为 IsApproved 的参数。你可以使用它。
    • @Chris Lively 基于 SQL 的解决方案链接似乎已关闭:isitdownrightnow.com/blogs.rawsoft.nl.html
    • 我已成功使用此链接使用 SQL 删除:blogs.visigo.com/chriscoulson/…
    • 如果我有一个正在运行的应用程序(在我的情况下部署在 azure 上),我应该在哪里写 Membership.DeleteUser("username");?在迁移脚本中?还是我添加一个只有我作为管理员才能访问的操作并在其中执行该命令?
    【解决方案2】:

    这是使用 SQL 删除用户的更简单方法。

    USE ASPNet
    GO
    
    DECLARE @UserId uniqueidentifier
    SET @UserId = 'THE GUID OF THE USER HERE'
    
    DELETE FROM aspnet_Profile WHERE UserID = @UserId
    DELETE FROM aspnet_UsersInRoles WHERE UserID = @UserId
    DELETE FROM aspnet_PersonalizationPerUser WHERE UserID = @UserId
    DELETE FROM dbo.aspnet_Membership WHERE UserID = @UserId
    DELETE FROM aspnet_users WHERE UserID = @UserId
    

    【讨论】:

      【解决方案3】:

      为了完整起见,这里有一个类似于 Yasser 的解决方案,但是使用 UserName 而不是 OP 要求的 GUID:

      DECLARE @UserId uniqueidentifier
      SET @UserId = (SELECT TOP(1) UserID FROM aspnet_Users 
        WHERE UserName = 'THE USERNAME OF THE USER HERE')
      
      DELETE FROM aspnet_Profile WHERE UserID = @UserId
      DELETE FROM aspnet_UsersInRoles WHERE UserID = @UserId
      DELETE FROM aspnet_PersonalizationPerUser WHERE UserID = @UserId
      DELETE FROM dbo.aspnet_Membership WHERE UserID = @UserId
      DELETE FROM aspnet_users WHERE UserID = @UserId
      

      注意:基本 SQL 脚本取自 this blog by Tim Gaunt

      【讨论】:

        【解决方案4】:

        在您的项目 (Visual Studio) 顶部菜单 > 网站 > ASP.NET 配置(点击这里)

        它将打开配置,然后打开安全 > 管理用户 在那里做你需要的......

        【讨论】:

        • 他可能想在自己的网站上这样做
        • 我想双向进行,我看不到Manage Users,我看到manage access rules
        • 在安全选项卡下,您会看到三个框(用户、角色、访问规则)。管理用户位于用户框中。我正在查看 VS2010,您可能会有所不同,但它就在那里。看看标签可能不一样...
        【解决方案5】:

        当创建一个将通过会员资格管理用户和角色的网站时,请在您的网站内创建一个管理员/支持网页,该网页仅对可以执行以下操作的角色可见:

        • 删除用户
        • 重置密码
        • 其他用户管理

        当您必须支持最终用户以及他们将面临的问题时,它会派上用场。

        Membership info from MSDN

        【讨论】:

        • 我正在努力按照您所说的去做。问题是我仍然不知道如何删除成员。我正在使用 gridview 来显示所有成员并使用自动添加的删除功能。我想在代码后面使用存储过程或方法,但我能找到的唯一示例是 Membership.DeleteUser("username");我无法为我工作。你对我有什么建议吗?
        【解决方案6】:

        按照以下步骤:

        • 打开文件夹位置C:program file / microsoft visual studio 12/
        • 搜索开发者Command prompt
        • 编写命令:devenv /resetuserdata

        【讨论】:

          猜你喜欢
          • 2019-12-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-12-06
          • 1970-01-01
          • 2012-05-08
          • 1970-01-01
          相关资源
          最近更新 更多