Поделиться через


SqlRoleProvider Класс

Определение

Управляет хранилищем сведений о членстве роли для приложения ASP.NET в базе данных SQL Server.

public ref class SqlRoleProvider : System::Web::Security::RoleProvider
public class SqlRoleProvider : System.Web.Security.RoleProvider
type SqlRoleProvider = class
    inherit RoleProvider
Public Class SqlRoleProvider
Inherits RoleProvider
Наследование
SqlRoleProvider

Примеры

В следующем примере показан файл Web.config для приложения ASP.NET, настроенного SqlRoleProvider для использования объекта и SqlMembershipProvider. Элемент authorization настроен так, чтобы разрешить доступ только пользователям, прошедшим проверку подлинности, в роли Администраторы.

<configuration>
  <connectionStrings>
    <add name="SqlServices" connectionString="Data Source=localhost;Integrated Security=SSPI;Initial Catalog=aspnetdb;" />
  </connectionStrings>
  <system.web>
    <authentication mode="Forms" >
      <forms loginUrl="logincs.aspx"
      name=".ASPXFORMSAUTH" />
    </authentication>
    <authorization>
      <deny users="?" />
      <allow roles="Administrators" />
      <deny users="*" />
    </authorization>
    <membership defaultProvider="SqlProvider" userIsOnlineTimeWindow="15">
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlMembershipProvider"
          connectionStringName="SqlServices"
          enablePasswordRetrieval="false"
          enablePasswordReset="false"
          requiresQuestionAndAnswer="false"
          passwordFormat="Hashed"
          applicationName="SampleApplication" />
      </providers>
    </membership>
    <roleManager defaultProvider="SqlProvider"
      enabled="true"
      cacheRolesInCookie="true"
      cookieName=".ASPROLES"
      cookieTimeout="30"
      cookiePath="/"
      cookieRequireSSL="true"
      cookieSlidingExpiration="true"
      cookieProtection="All" >
      <providers>
        <add
          name="SqlProvider"
          type="System.Web.Security.SqlRoleProvider"
          connectionStringName="SqlServices"
          applicationName="SampleApplication" />
      </providers>
    </roleManager>
  </system.web>
</configuration>

Комментарии

Этот класс используется классами Roles и RolePrincipal для предоставления служб управления ролями для приложения ASP.NET с помощью базы данных SQL Server. Управление ролями можно использовать для указания различных уровней авторизации для приложения.

Чтобы использовать SqlRoleProvider класс , необходимо сначала создать базу данных SQL Server, используемую .SqlRoleProvider Чтобы создать базу данных, используемую классом , запустите aspnet_regsql.exe исполняемый файл, найденный в папке C:\WINDOWS\Microsoft.NET\Framework\versionNumber, и укажите -Ar параметр (например, aspnet_regsql.exe -Ar).SqlRoleProvider Созданная база данных называется Aspnetdb. Кроме того, запустите aspnet_regsql.exe, чтобы перенастроить режим конфигурации графического пользовательского интерфейса и настроить все функции ASP.NET.

Если для поставщика ролей настроена строка подключения, использующая встроенную безопасность, учетная запись процесса приложения ASP.NET должна иметь права на подключение к базе данных SQL Server.

Файл Machine.config настраивается с помощью экземпляра SqlRoleProvider с именем AspNetSqlProvider, который подключается к SQL Server на локальном компьютере. Вы можете использовать этот экземпляр поставщика или указать собственный в файле Web.config для ASP.NET приложения. Чтобы использовать экземпляр AspNetSqlProvider, укажите AspNetSqlProvider в defaultProvider качестве в конфигурации.

Можно настроить SqlRoleProvider для использования той же базы данных и сведений о пользователе, SqlMembershipProvider что и , чтобы использовать одну базу данных для проверки подлинности и авторизации. Чтобы использовать ту же базу данных для сведений о членстве и роли, запустите исполняемый файл aspnet_regsql.exe и установите компонент членства. Затем укажите ту же строку подключения в конфигурации для экземпляров SqlRoleProvider и SqlMembershipProvider . Кроме того, убедитесь, что оба экземпляра поставщика настроены с одинаковым ApplicationName.

Конструкторы

SqlRoleProvider()

Создает экземпляр класса SqlRoleProvider.

Свойства

ApplicationName

Получает или задает имя приложения, для которого будут сохраняться и извлекаться сведения о роли.

Description

Возвращает краткое, понятное описание, подходящее для отображения в инструментах администрирования или других пользовательских интерфейсах (UI).

(Унаследовано от ProviderBase)
Name

Возвращает понятное имя, используемое для ссылки на поставщика во время конфигурирования.

(Унаследовано от ProviderBase)

Методы

AddUsersToRoles(String[], String[])

Добавляет указанные имена пользователей в каждую из указанных ролей.

CreateRole(String)

Добавляет новую роль в базу данных ролей.

DeleteRole(String, Boolean)

Удаляет роль из базы данных ролей.

Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
FindUsersInRole(String, String)

Получает массив имен пользователей в роли, соответствующих указанному имени пользователя.

GetAllRoles()

Возвращает список всех ролей для приложения.

GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetRolesForUser(String)

Возвращает список ролей, в которых состоит пользователь.

GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
GetUsersInRole(String)

Возвращает список пользователей в указанной роли.

Initialize(String, NameValueCollection)

Инициализирует поставщика ролей SQL Server значениями свойства, указанными в файле конфигурации приложения ASP.NET. Этот метод не предназначен для непосредственного использования в коде.

IsUserInRole(String, String)

Возвращает значение, позволяющее определить, может ли заданный пользователь выполнять указанную роль.

MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
RemoveUsersFromRoles(String[], String[])

Удаляет указанные имена пользователей из указанных ролей.

RoleExists(String)

Возвращает значение, указывающее, существует ли указанная роль в базе данных ролей.

ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

Применяется к

См. также раздел