Descrição
O objeto WebSecurity fornece segurança e autenticação para aplicações de páginas da Web ASP.NET.
Com o objeto WebSecurity você pode criar contas de usuário, o login e usuários de logout, repor ou alterar senhas, e muito mais.
WebSecurity objeto de referência - Propriedades
propriedades | Descrição |
---|---|
CurrentUserId | Obtém o ID do usuário atual |
CurrentUserName | Obtém o nome do usuário atual |
HasUserId | Retorna true se a corrente tem um ID de usuário |
IsAuthenticated | Retorna true se o usuário atual está logado |
WebSecurity objeto de referência - Métodos
Método | Descrição |
---|---|
ChangePassword() | Altera a senha de um usuário |
ConfirmAccount() | Confirma uma conta usando um sinal de confirmação |
CreateAccount() | Cria uma nova conta de usuário |
CreateUserAndAccount() | Cria uma nova conta de usuário |
GeneratePasswordResetToken() | Gera um token que pode ser enviado como usuário por e-mail |
GetCreateDate() | Obtém o tempo da associação especificado foi criado |
GetPasswordChangeDate() | Obtém a data ea hora em que a senha foi alterada |
GetUserId() | Obtém um ID de usuário de um nome de usuário |
InitializeDatabaseConnection() | Inicializa o sistema WebSecurity (database) |
IsConfirmed() | Verifica se um usuário é confirmada |
IsCurrentUser() | Verifica se o usuário atual corresponde a um nome de usuário |
Login() | Registra o usuário em definindo um símbolo no cookie |
Logout() | Registra o usuário para fora, removendo o cookie de token |
RequireAuthenticatedUser() | Sai da página se o usuário não é um usuário autenticado |
RequireRoles() | Sai da página se o usuário não é uma parte das funções especificadas |
RequireUser() | Sai da página se o usuário não é o usuário especificado |
ResetPassword() | Altera a senha de um usuário usando um token |
UserExists() | Verifica se um dado utilizador existe |
Dados técnicos
Nome | Valor |
---|---|
Classe | WebMatrix.WebData.WebSecurity |
namespace | WebMatrix.WebData |
Montagem | WebMatrix.WebData.dll |
Inicializar o banco de dados WebSecurity
Você deve criar ou inicializar um banco de dados WebSecurity antes que você pode usar o objeto WebSecurity em seu código.
Na raiz do seu web, criar uma página (or edit the page ) chamado _AppStart.cshtml.
Coloque o seguinte código dentro do ficheiro:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
O código acima irá executar cada vez que o site web (application) começa. Ele inicializa o banco de dados WebSecurity.
"Usuários" é o nome do banco de dados WebSecurity (Users.sdf) .
"UserProfile" é o nome da tabela de banco de dados que contém as informações do perfil do usuário.
"UserId" é o nome da coluna que contém os IDs de utilizador (primary key) .
"Email" é o nome da coluna que contém os nomes de usuário.
O último parâmetro verdade é um valor booleano que indica que o perfil do usuário e tabelas de associação deve ser criada automaticamente se eles não existem, caso contrário false.
Embora true indica a criação automática de tabelas de banco de dados, o banco de dados em si não será criada automaticamente. Deve existir.
O WebSecurity Banco de Dados
A tabela UserProfile contém um registro para cada usuário, com um ID de usuário (primary key) e o nome do usuário (email) :
ID do usuário | O email |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
A tabela Membership irá conter a informação da sociedade sobre quando o usuário foi criado e se (and when) a associação foi confirmada.
Muito parecido com este (some columns are not shown) :
Do utilizador Identidade | Crio Encontro | Confirmação Símbolo | É Confirmado | Último Senha Falha | Senha | Senha mudança |
---|---|---|---|---|---|---|
1 | 12.04.2012 16:12:17 | NULO | Verdade | NULO | AFNQhWfy .... | 12.04.2012 16:12:17 |
Nota: Se você quiser ver todas as colunas e todo o conteúdo, abra o banco de dados com WebMatrix e olhar para dentro de cada tabela.
Configuração Membership simples
Você pode obter erros usando o objeto WebSecurity, se o seu site não está configurado para usar o sistema de afiliação páginas ASP.NET Web SimpleMembership.
Isso pode ocorrer se o servidor de um provedor de hospedagem está configurado de forma diferente do que o seu servidor local. Para corrigir isso, adicione o seguinte elemento no arquivo Web.config do site:
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>