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 Чтобы создать базу данных, используемую классом , запустите 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) |