tutoriais mais recente desenvolvimento web
 

ASP.NET Páginas da Web - WebSecurity Objeto


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>