SqlMembershipProvider.DeleteUser(String, Boolean) 方法

定义

从 SQL Server 成员资格数据库删除用户的成员资格信息。

public:
 override bool DeleteUser(System::String ^ username, bool deleteAllRelatedData);
public override bool DeleteUser (string username, bool deleteAllRelatedData);
override this.DeleteUser : string * bool -> bool
Public Overrides Function DeleteUser (username As String, deleteAllRelatedData As Boolean) As Boolean

参数

username
String

要删除的用户的名称。

deleteAllRelatedData
Boolean

如果要从数据库中删除与用户相关的数据,则为 true;如果要在数据库中保留与用户相关的数据,则为 false

返回

如果用户已删除,则为 true;否则为 false。 如果数据库中没有此用户,也会返回 false 值。

例外

username 为空字符串 ("")、包含一个逗号或长度超过 256 个字符。

usernamenull

示例

以下代码示例删除当前登录的用户。

注意

此示例使用 SqlMembershipProvider 调用 SqlMembershipProvider 指定为 defaultProvider Web.config 文件中的 。 如果需要以 类型 SqlMembershipProvider的形式访问默认提供程序,则可以强制转换 Provider 类的 Membership 属性。 若要以特定提供程序类型的形式访问其他配置的提供程序,可以使用 类的 Membership 属性按其配置的名称Providers对其进行访问,并将其强制转换为特定提供程序类型。

<%@ Page Language="C#" %>
<%@ Import Namespace="System.Web.Security" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

public void YesButton_OnClick(object sender, EventArgs args)
{
  Membership.DeleteUser(User.Identity.Name, DeleteRelatedData.Checked);

  FormsAuthentication.SignOut();
  FormsAuthentication.RedirectToLoginPage();
}

public void CancelButton_OnClick(object sender, EventArgs args)
{
  Response.Redirect("default.aspx");
}

</script>
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<title>Sample: Delete User</title>
</head>
<body>

<form id="form1" runat="server">
  <h3>Delete User</h3>

  <asp:Label id="Msg" ForeColor="maroon" runat="server" /><br />

  <span style="color:red">Are you sure you want to delete the userid <b><%=User.Identity.Name%></b>?</span><br />

  Delete related profile and roles data: <asp:CheckBox id="DeleteRelatedData" 
                                                       checked="True" runat="Server" /><br />

  <asp:Button id="YesButton" Text="Yes" OnClick="YesButton_OnClick" runat="server" />
  <asp:Button id="CancelButton" Text="Cancel" OnClick="CancelButton_OnClick" runat="server" />
</form>

</body>
</html>

<%@ Page Language="VB" %>

<%@ Import Namespace="System.Web.Security" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">

  Public Sub YesButton_OnClick(ByVal sender As Object, ByVal args As EventArgs)

    Membership.DeleteUser(User.Identity.Name, DeleteRelatedData.Checked)

    FormsAuthentication.SignOut()
    FormsAuthentication.RedirectToLoginPage()

  End Sub

  Public Sub CancelButton_OnClick(ByVal sender As Object, ByVal args As EventArgs)
    Response.Redirect("default.aspx")
  End Sub

</script>

<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
  <title>Sample: Delete User</title>
</head>
<body>
  <form id="form1" runat="server">
    <h3>
      Delete User</h3>
    <asp:Label ID="Msg" ForeColor="maroon" runat="server" /><br />
    <p style="color:red">Are you sure you want to delete the userid <b><%=User.Identity.Name%></b>?</p>
    <br />
      Delete related profile and roles data:
      <asp:CheckBox ID="DeleteRelatedData" Checked="True" runat="Server" /><br />
        <asp:Button ID="YesButton" Text="Yes" OnClick="YesButton_OnClick" runat="server" />
        <asp:Button ID="CancelButton" Text="Cancel" OnClick="CancelButton_OnClick" runat="server" />
  </form>
</body>
</html>

注解

类调用 Membership 此方法,以从 ASP.NET 应用程序的配置文件中指定的 SQL Server 数据库中删除用户。

已删除的用户仅从配置的 ApplicationName中删除。

如果 deleteAllRelatedData 设置为 true,则还会删除ApplicationName数据库中存储的 、 RolesProfileWebPart 个性化设置功能的所有用户数据。

如果数据库中不存在成员身份用户,并且 deleteAllRelatedDatatrue,则仍会删除为 RolesProfileWebPart 个性化设置功能存储的相关数据和用户信息,以便为 属性中指定的 ApplicationName 应用程序。 因此, DeleteUser 方法可用于快速删除与用户相关的信息,即使 SqlMembershipProvider 对象不用于存储经过身份验证的用户信息。

删除 username 参数值的前导和尾随空格。

适用于

另请参阅