A segurança e a autenticação de aplicativos ASP.NET WebPages são garantidas por meio do objeto WebSecurity. Esta seção apresenta as propriedades, métodos e usos relacionados do objeto WebSecurity.
O objeto WebSecurity fornece segurança e autenticação para aplicativos de páginas da Web ASP.NET.
Através do objeto WebSecurity, você pode criar contas de usuário, efetuar login e logout de usuários, redefinir ou alterar senhas e muitas outras funções relacionadas à segurança.
propriedade | descrever |
---|---|
ID do usuário atual | Obtenha o ID do usuário conectado no momento. |
Nome de usuário atual | Obtenha o nome do usuário conectado no momento. |
HasUserId | Retornará verdadeiro se houver atualmente um ID de usuário. |
É autenticado | Retorna verdadeiro se o usuário atual estiver logado. |
método | descrever |
---|---|
Alterar a senha() | Altere a senha do usuário especificado. |
Confirmar conta() | Confirme a conta usando o token de confirmação da conta. |
Criar uma conta() | Crie uma nova conta de usuário. |
CriarUsuárioAndConta() | Crie uma nova conta de usuário. |
GerarPasswordResetToken() | Gera um token de redefinição de senha que pode ser enviado ao usuário por e-mail para que ele possa redefinir sua senha. |
GetCreateDate() | Obtenha a hora de criação do membro especificado. |
GetPasswordChangeDate() | Obtenha a data e hora em que a senha foi alterada. |
GetUserId() | Obtenha o ID do usuário com base no nome de usuário. |
InicializarDatabaseConnection() | Inicialize o sistema WebSecurity (banco de dados). |
Está confirmado() | Verifique se o usuário foi confirmado. Retorna verdadeiro se confirmado. (A confirmação pode ser via e-mail, por exemplo.) |
ÉUsuárioAtual() | Verifica se o nome do usuário atual corresponde ao nome de usuário especificado. Se houver uma correspondência, retorne verdadeiro. |
Conecte-se() | Defina o token de autenticação e faça login do usuário. |
Sair() | Remova o token de autenticação e efetue logout do usuário. |
RequireAuthenticatedUser() | Se o usuário não estiver autenticado, define o status HTTP como 401 (Não autorizado). |
ExigirRoles() | Se o usuário atual não for membro da função especificada, define o status HTTP como 401 (Não autorizado). |
ExigirUsuário() | Se o usuário atual não for o usuário com o nome de usuário especificado, defina o status HTTP como 401 (Não autorizado). |
Redefinir senha() | Se o token de redefinição de senha for válido, altere a senha do usuário para a nova senha. |
UserExists() | Verifica se o usuário especificado existe. |
nome | valor |
---|---|
Aula | WebMatrix.WebData.WebSecurity |
Espaço para nome | WebMatrix.WebData |
Conjunto | WebMatrix.WebData.dll |
Se desejar usar objetos WebSecurity em seu código, primeiro você deverá criar ou inicializar o banco de dados WebSecurity.
No diretório raiz da web, crie uma página chamada _AppStart.cshtml (ou edite a página diretamente se ela já existir).
Copie o seguinte código no arquivo:
@{ WebSecurity.InitializeDatabaseConnection("Usuários", "UserProfile", "UserId", "Email", true });
O código acima será executado sempre que o site (aplicativo) for iniciado. Inicializa o banco de dados WebSecurity.
"Usuários" é o nome do banco de dados WebSecurity (Users.sdf).
"UserProfile" é o nome da tabela do banco de dados que contém informações de perfil do usuário.
"UserId" é o nome da coluna que contém o ID do usuário (chave primária).
"E-mail" é o nome da coluna que contém o nome de usuário.
O último parâmetro true é um valor booleano, indicando que se a tabela de configuração do usuário e a tabela de membros não existirem, as tabelas serão criadas automaticamente. Se não quiser criar a tabela automaticamente, você deve definir o parâmetro como false .
Embora verdadeiro signifique que a tabela do banco de dados será criada automaticamente, o banco de dados não será criado automaticamente. Portanto, o banco de dados deve existir. |
A tabela UserProfile cria e salva um registro para cada usuário, ID de usuário (chave primária) e nome de usuário (e-mail):
ID do usuário | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
A tabela Membership contém informações de associação, como quando o usuário foi criado, se o membro foi autenticado, quando o membro foi autenticado, etc.
Os detalhes são os seguintes (algumas colunas não são mostradas):
ID do usuário | Data de criação | Token de confirmação | Está confirmado | Última falha de senha | Senha | Alteração de senha |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULO | Verdadeiro | NULO | AFNQhWfy.... | 12.04.2012 16:12:17 |
Nota: Se você quiser ver todas as colunas e conteúdos, abra o banco de dados e observe cada tabela dentro dele.
Ao usar o objeto WebSecurity, se o seu site não estiver configurado para usar o sistema de associação de páginas da Web ASP.NET SimpleMembership , um erro poderá ser relatado.
Erros também podem ocorrer se o servidor do provedor de hospedagem estiver configurado de forma diferente do servidor local. Para resolver esse problema, adicione o seguinte elemento ao arquivo Web.config do seu site:
<appSettings> <add key="enableSimpleMembership" value="true" /> </appSettings>
O texto acima é uma introdução ao objeto WebSecurity.