Freigeben über


RoleProvider.CreateRole(String) Methode

Definition

Fügt eine neue Rolle zur Datenquelle für die konfigurierte applicationName hinzu.

public:
 abstract void CreateRole(System::String ^ roleName);
public abstract void CreateRole (string roleName);
abstract member CreateRole : string -> unit
Public MustOverride Sub CreateRole (roleName As String)

Parameter

roleName
String

Der Name der zu erstellenden Rolle.

Beispiele

Das folgende Codebeispiel zeigt eine Beispielimplementierung der CreateRole Methode.

public override void CreateRole(string rolename)
{ 
  if (rolename == null || rolename == "")
    throw new ProviderException("Role name cannot be empty or null.");
  if (rolename.Contains(","))
    throw new ArgumentException("Role names cannot contain commas.");
  if (RoleExists(rolename))
    throw new ProviderException("Role name already exists.");
  if (rolename.Length > 255)
    throw new ProviderException("Role name cannot exceed 255 characters.");

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("INSERT INTO Roles "  +
                                    " (Rolename, ApplicationName) " +
                                    " Values(?, ?)", conn);

  cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename;
  cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName;

  try
  {
    conn.Open();

    cmd.ExecuteNonQuery();
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    conn.Close();      
  }
}
Public Overrides Sub CreateRole(rolename As String) 
  If rolename Is Nothing OrElse rolename = "" Then _
    Throw New ProviderException("Role name cannot be empty or null.")
  If rolename.Contains(",") Then _
    Throw New ArgumentException("Role names cannot contain commas.")
  If RoleExists(rolename) Then _
    Throw New ProviderException("Role name already exists.")
  If rolename.Length > 255 Then _
    Throw New ProviderException("Role name cannot exceed 255 characters.")

  Dim conn As OdbcConnection = New OdbcConnection(connectionString)
            Dim cmd As OdbcCommand = New OdbcCommand("INSERT INTO Roles " & _
                                                     " (Rolename, ApplicationName) " & _
                                                     " Values(?, ?)", conn)

            cmd.Parameters.Add("@Rolename", OdbcType.VarChar, 255).Value = rolename
            cmd.Parameters.Add("@ApplicationName", OdbcType.VarChar, 255).Value = ApplicationName

            Try
                conn.Open()

                cmd.ExecuteNonQuery()
            Catch e As OdbcException
                ' Handle exception.
            Finally
                conn.Close()
            End Try
        End Sub

Hinweise

CreateRole wird von der CreateRole -Methode der Roles -Klasse aufgerufen, um die angegebene Rolle der Datenquelle für die konfigurierte ApplicationNamehinzuzufügen.

Wenn der angegebene Rollenname bereits für die konfigurierte applicationNameist, oder eine leere Zeichenfolge ist null, empfehlen wir, dass Ihr Anbieter eine Ausnahme auslöst.

Wenn der angegebene Rollenname ein Komma enthält, wird empfohlen, dass Ihr Anbieter eine Ausnahme auslöst.

Wenn Ihre Datenquelle die Länge des Rollennamens einschränkt, z. B. durch eine Spalte mit fester Länge einer Tabelle in einer Datenbank, wird empfohlen, eine Ausnahme zu auslösen, wenn der Rollenname die von der Datenquelle zulässige maximale Länge überschreitet.

Gilt für:

Weitere Informationen