Latest web development tutorials

Manual do ASP.NET Web Pages WebSecurity Referência

descrição

Páginas da Web ASP.NET WebSecurity objeto fornece a segurança do aplicativo e autenticação.

Por WebSecurity objeto, você pode criar contas de usuário, logon e logoff do usuário, redefinir ou alterar sua senha, e mais funções relacionadas à segurança.


WebSecurity objeto de referência - Propriedade

属性 描述
CurrentUserId 获取当前登录用户的 ID。
CurrentUserName 获取当前登录用户的名称。
HasUserId 如果当前有用户 ID,则返回 true。
IsAuthenticated 如果当前用户是登录的,则返回 true。

WebSecurity objeto de referência - Métodos

方法 描述
ChangePassword() 为指定的用户更改密码。
ConfirmAccount() 使用帐户确认令牌确认帐户。
CreateAccount() 创建一个新的用户帐户。
CreateUserAndAccount() 创建一个新的用户帐户。
GeneratePasswordResetToken() 生成一个密码重置令牌,可以在电子邮件中发送给用户以便用户可以重设密码。
GetCreateDate() 获取指定会员创建的时间。
GetPasswordChangeDate() 获取密码变更的日期和时间。
GetUserId() 根据用户名称获取用户 ID。
InitializeDatabaseConnection() 初始化 WebSecurity 系统(数据库)。
IsConfirmed() 检查用户是否已被确认。如果已确认,则返回 true。(例如,可通过电子邮件进行确认。)
IsCurrentUser() 检查当前用户的名称是否与指定用户名匹配。如果匹配,则返回 true。
Login() 设置身份验证令牌,登录用户。
Logout() 移除身份验证令牌,注销用户。
RequireAuthenticatedUser() 如果用户未通过身份验证,则设置 HTTP 状态为 401(未经授权)。
RequireRoles() 如果当前用户不是指定角色的成员,则设置 HTTP 状态为 401(未经授权)。
RequireUser() 如果当前用户不是指定用户名的用户,则设置 HTTP 状态为 401(未经授权)。
ResetPassword() 如果密码重置令牌是有效的,改变用户的密码为新密码。
UserExists() 检查指定的用户是否存在。


dados técnicos

名称
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll


WebSecurity inicialização do banco de dados

Se você quiser usar objetos WebSecurity no seu código, você deve primeiro criar ou inicializar banco de dados WebSecurity.

No seu diretório raiz da Web, crie um arquivo chamado _AppStart.cshtml página (se ele já existe, você vai editar diretamente da página).

Copie o seguinte código para o arquivo:

_AppStart.cshtml

@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile", "UserId", "Email", true);
}

O código acima será executado em cada local (aplicativo) é iniciado. É a base de dados inicializa WebSecurity.

"Usuários" são de banco de dados WebSecurity (Users.sdf) nome.

"UserProfile" é o nome da tabela de banco de dados que contém informações de configuração do usuário.

"UserId" que contém o ID do usuário (chave primária) o nome da coluna.

"E-mail" é o nome de uma coluna de nome de usuário.

Finalmente, um verdadeiro parâmetro é um valor booleano que indica se não existirem as tabelas de configuração de usuário e tabelas de membros, ele irá criar automaticamente uma tabela. Se você não quiser criar automaticamente uma tabela, você deve definir o parâmetro para false.

lâmpada Embora verdadeiro para criar automaticamente as tabelas de banco de dados, mas o banco de dados não será criado automaticamente. Assim, o banco de dados deve existir.


banco de dados WebSecurity

tabela UserProfile criado para cada usuário para salvar um registro, o ID do usuário (chave primária) e nome de usuário (e-mail):

UserId Email
1 [email protected]
2 [email protected]
3 [email protected]

tabela Membership contém a informação da sociedade, como quando o usuário é criado, se o membro foi certificado certificação membro o tempo, e assim por diante.

Tal como mostrado abaixo (alguns dos colunas não são apresentados):

User
Id
Create
Date
Confirmation
Token
Is
Confirmed
Last
Password
Failure
Password Password
Change
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Nota: Se você quiser ver todas as colunas e o conteúdo, abra o banco de dados, olhar para cada mesa no interior.


membro configuração simples

Quando você usa objetos WebSecurity, se o site não está configurado para usar ASP.NET Web Pages Membro SimpleMembership sistema, você pode ser dada.

Se você configurar o provedor de hospedagem de servidor e configuração do servidor local é diferente, ele também pode ser dada. Para resolver este problema, adicione o seguinte elemento no arquivo Web.config no site:

<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>