SqlRoleProvider Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Gerir o armazenamento da informação de pertença a funções para uma aplicação ASP.NET numa base de dados 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
- Herança
Exemplos
O exemplo seguinte mostra o ficheiro Web.config de uma aplicação ASP.NET configurada para usar um objeto SqlRoleProvider e o SqlMembershipProvider. O authorization elemento está configurado para permitir o acesso apenas a utilizadores autenticados na função de Administradores.
<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>
Observações
Esta classe é utilizada pelas classes Roles e RolePrincipal para fornecer serviços de gestão de funções para uma aplicação ASP.NET utilizando uma base de dados SQL Server. Pode usar a gestão de funções para especificar diferentes níveis de autorização para a sua candidatura.
Para usar a classe SqlRoleProvider, deve primeiro criar a base de dados SQL Server usada pelo SqlRoleProvider. Para criar a base de dados usada pela classe SqlRoleProvider, execute o executável aspnet_regsql.exe encontrado na pasta C:\WINDOWS\Microsoft.NET\Framework\ versionNumber e especifique a opção -Ar (por exemplo, aspnet_regsql.exe -Ar). A base de dados criada chama-se Aspnetdb. Alternativamente, executa aspnet_regsql.exe para abrir o modo de configuração da interface gráfica e escolhe configurar todas as ASP.NET funcionalidades.
Se o fornecedor de funções estiver configurado com uma cadeia de ligação que utiliza segurança integrada, a conta de processo da aplicação ASP.NET deve ter direitos para se ligar à base de dados do SQL Server.
O ficheiro Machine.config está configurado com uma instância SqlRoleProvider chamada AspNetSqlProvider que se liga ao SQL Server na máquina local. Pode usar esta instância do fornecedor, ou especificar a sua própria no ficheiro de Web.config da sua candidatura de ASP.NET. Para usar a instância AspNetSqlProvider, especifique AspNetSqlProvider na defaultProvider sua configuração.
Pode configurar o SqlRoleProvider para usar a mesma base de dados e informação de utilizador que o SqlMembershipProvider para usar uma única base de dados para informações de autenticação e autorização. Para usar a mesma base de dados para informações de membros e funções, execute o executável aspnet_regsql.exe e instale a funcionalidade de membro. Depois, especifique o mesmo cadeia de ligação na sua configuração tanto para as instâncias SqlRoleProvider como para SqlMembershipProvider. Certifique-se também de que ambas as instâncias do fornecedor estão configuradas com o mesmo ApplicationName.
Construtores
| Name | Description |
|---|---|
| SqlRoleProvider() |
Cria uma instância da SqlRoleProvider classe. |
Propriedades
| Name | Description |
|---|---|
| ApplicationName |
Obtém ou define o nome da aplicação para a qual armazenar e recuperar a informação do papel. |
| Description |
Recebe uma descrição breve e amigável, adequada para exibição em ferramentas administrativas ou outras interfaces de utilizador (UIs). (Herdado de ProviderBase) |
| Name |
Recebe o nome amigável usado para se referir ao fornecedor durante a configuração. (Herdado de ProviderBase) |
Métodos
| Name | Description |
|---|---|
| AddUsersToRoles(String[], String[]) |
Adiciona os nomes de utilizador especificados a cada um dos papéis especificados. |
| CreateRole(String) |
Adiciona um novo papel à base de dados de funções. |
| DeleteRole(String, Boolean) |
Remove um papel da base de dados de papéis. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| FindUsersInRole(String, String) |
Obtém um array de nomes de utilizador num papel onde o nome de utilizador contém o nome de utilizador especificado para corresponder. |
| GetAllRoles() |
Obtém uma lista de todas as funções da candidatura. |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetRolesForUser(String) |
Obtém uma lista dos papéis em que um utilizador se encontra. |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| GetUsersInRole(String) |
Obtém uma lista de utilizadores na função especificada. |
| Initialize(String, NameValueCollection) |
Inicializa o fornecedor de funções do SQL Server com os valores de propriedade especificados no ficheiro de configuração da aplicação ASP.NET. Este método não foi pensado para ser usado diretamente a partir do seu código. |
| IsUserInRole(String, String) |
Recebe um valor que indica se o utilizador especificado está no papel especificado. |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| RemoveUsersFromRoles(String[], String[]) |
Remove os nomes de utilizador especificados dos papéis especificados. |
| RoleExists(String) |
Obtém um valor que indica se o nome do papel especificado já existe na base de dados de funções. |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |