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 屬性。 若要以特定提供者類型存取其他已設定的提供者,您可以使用 類別 ProvidersMembership 屬性來存取這些提供者,並將其轉換成特定提供者類型。

<%@ 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的 刪除儲存在 資料庫中的Roles所有用戶Profile數據, 或WebPart個人化功能。

如果成員資格使用者不存在於資料庫中,且 deleteAllRelatedDatatrue,則針對、 ProfileWebPart 個人化功能所儲存Roles的相關數據和使用者資訊,仍會針對屬性中指定的ApplicationName應用程式刪除。 因此, DeleteUser 方法可用於快速刪除與使用者相關的資訊,即使 SqlMembershipProvider 物件未用於儲存已驗證的使用者資訊也一樣。

會修剪 username 參數值中的前置空格和後端空格。

適用於

另請參閱