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
- Наследование
Примеры
В следующем примере показан файл 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. Чтобы создать базу данных, используемую классом SqlRoleProvider, запустите исполняемый файл aspnet_regsql.exe, найденный в папке C:\WINDOWS\Microsoft.NET\Framework\Framework\ versionNumber и укажите параметр -Ar (например, aspnet_regsql.exe -Ar). Созданная база данных называется 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 |
Получает краткое понятное описание, подходящее для отображения в средствах администрирования или других пользовательских интерфейсах (UIs). (Унаследовано от 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) |