【发布时间】:2012-03-08 15:33:53
【问题描述】:
我有一个注册页面,我使用以下Walkthrough: Creating a Web Site with Membership and User Login 来制作我的网页。问题是注册页面创建了用户,但我不知道如何从存储用户帐户的数据库中删除用户帐户。
【问题讨论】:
标签: c# asp.net c#-4.0 forms-authentication
我有一个注册页面,我使用以下Walkthrough: Creating a Web Site with Membership and User Login 来制作我的网页。问题是注册页面创建了用户,但我不知道如何从存储用户帐户的数据库中删除用户帐户。
【问题讨论】:
标签: c# asp.net c#-4.0 forms-authentication
成员资格提供者有一个 DeleteUser 方法。
http://msdn.microsoft.com/en-us/library/w6b0zxdw.aspx
以下也同样有效:
Membership.DeleteUser("username");
如果您想要基于 SQL 的解决方案:
【讨论】:
Membership.DeleteUser("username");?在迁移脚本中?还是我添加一个只有我作为管理员才能访问的操作并在其中执行该命令?
这是使用 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
【讨论】:
为了完整起见,这里有一个类似于 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
【讨论】:
在您的项目 (Visual Studio) 顶部菜单 > 网站 > ASP.NET 配置(点击这里)
它将打开配置,然后打开安全 > 管理用户 在那里做你需要的......
【讨论】:
Manage Users,我看到manage access rules
当创建一个将通过会员资格管理用户和角色的网站时,请在您的网站内创建一个管理员/支持网页,该网页仅对可以执行以下操作的角色可见:
当您必须支持最终用户以及他们将面临的问题时,它会派上用场。
【讨论】:
按照以下步骤:
C:program file / microsoft visual studio 12/
Command prompt。编写命令:devenv /resetuserdata
【讨论】: