RoleProvider.GetAllRoles 方法

定义

获取已配置的 applicationName 的全部角色列表。Gets a list of all the roles for the configured applicationName.

public:
 abstract cli::array <System::String ^> ^ GetAllRoles();
public abstract string[] GetAllRoles ();
abstract member GetAllRoles : unit -> string[]
Public MustOverride Function GetAllRoles () As String()

返回

String[]

一个字符串数组,它包含已配置的 applicationName 的数据源中所存储的全部角色的名称。A string array containing the names of all the roles stored in the data source for the configured applicationName.

示例

下面的代码示例演示方法的示例实现 GetAllRolesThe following code example shows a sample implementation of the GetAllRoles method.

public override string[] GetAllRoles()
{
  string tmpRoleNames = "";

  OdbcConnection conn = new OdbcConnection(connectionString);
  OdbcCommand cmd = new OdbcCommand("SELECT Rolename FROM Roles "  +
                                    " WHERE ApplicationName = ?", conn);

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

  OdbcDataReader reader = null;

  try
  {
    conn.Open();

    reader = cmd.ExecuteReader();

    while (reader.Read())
    {
      tmpRoleNames += reader.GetString(0) + ",";
    }
  }
  catch (OdbcException)
  {
    // Handle exception.
  }
  finally
  {
    if (reader != null) { reader.Close(); }
    conn.Close();      
  }

  if (tmpRoleNames.Length > 0)
  {
    // Remove trailing comma.
    tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1);
    return tmpRoleNames.Split(',');
  }

  return new string[0];
}
Public Overrides Function GetAllRoles() As String()
    Dim tmpRoleNames As String = ""

    Dim conn As OdbcConnection = New OdbcConnection(connectionString)
    Dim cmd As OdbcCommand = New OdbcCommand("SELECT Rolename FROM Roles " & _
                                             " WHERE ApplicationName = ?", conn)

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

    Dim reader As OdbcDataReader = Nothing

    Try
        conn.Open()

        reader = cmd.ExecuteReader()

        Do While reader.Read()
            tmpRoleNames &= reader.GetString(0) & ","
        Loop
    Catch e As OdbcException
        ' Handle exception.
    Finally
        If Not reader Is Nothing Then reader.Close()
        conn.Close()
    End Try

    If tmpRoleNames.Length > 0 Then
        ' Remove trailing comma.
        tmpRoleNames = tmpRoleNames.Substring(0, tmpRoleNames.Length - 1)
        Return tmpRoleNames.Split(CChar(","))
    End If

    Return New String() {}
End Function

注解

GetAllRolesGetAllRoles 类的方法调用 Roles ,以从数据源中检索角色名称的列表。GetAllRoles is called by the GetAllRoles method of the Roles class to retrieve a list of role names from the data source. 仅检索指定的角色 ApplicationNameOnly the roles for the specified ApplicationName are retrieved.

如果配置的不存在任何角色 applicationName ,则建议提供程序返回不包含任何元素的字符串数组。If no roles exist for the configured applicationName, we recommend that your provider return a string array with no elements.

适用于