Latest web development tutorials

Manuale ASP.NET Web Pages WebSecurity di riferimento

descrizione

Pagine Web ASP.NET WebSecurity oggetto fornisce la sicurezza delle applicazioni e l'autenticazione.

Con l'oggetto WebSecurity, è possibile creare account utente, l'accesso utente e disconnessione, reimpostare o modificare la password, e più funzioni relative alla sicurezza.


WebSecurity Object Reference - Proprietà

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

WebSecurity Object Reference - Metodi

方法 描述
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() 检查指定的用户是否存在。


dati tecnici

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


inizializzazione del database WebSecurity

Se si desidera utilizzare gli oggetti WebSecurity nel codice, è necessario creare o inizializzare database di WebSecurity.

Nella directory principale Web, creare un file chiamato pagina _AppStart.cshtml (se esiste già, si modificare direttamente la pagina).

Copiare il codice riportato di seguito al file:

_AppStart.cshtml

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

Il codice di cui sopra verrà eseguito in ogni sito (applicazione) si avvia. Si inizializza il database WebSecurity.

"Utenti" sono dati WebSecurity (Users.sdf) nome.

"UserProfile" è il nome della tabella di database che contiene le informazioni di configurazione dell'utente.

"UserID" che contiene l'ID utente (chiave primaria) il nome della colonna.

"Email" è il nome di una colonna nome utente.

Infine, un vero e proprio parametro è un valore booleano che indica se non esistono le tabelle di configurazione utente e deputato, si creerà automaticamente una tabella. Se non si desidera creare automaticamente una tabella, è necessario impostare il parametro su false.

lampada Anche se vero per creare automaticamente tabelle di database, ma il database non verrà creato automaticamente. Così il database deve esistere.


banca dati WebSecurity

tavolo ProfiloUtente creato per ogni utente di salvare un record, l'ID utente (chiave primaria) e il nome utente (e-mail):

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

tavolo iscrizione contiene informazioni di appartenenza, come ad esempio quando si crea l'utente, se il membro è stato certificato certificazione membro che ora, e così via.

Come mostrato di seguito (alcune delle colonne non vengono visualizzate):

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 si desidera visualizzare tutte le colonne e il contenuto, aprire il database, guardare ogni tavolo interno.


membro Configurazione semplice

Quando si utilizzano oggetti WebSecurity, se il sito non è configurato per utilizzare il sistema di ASP.NET Web Pages Stati SimpleMembership, si può essere dato.

Se si configura il server provider di hosting e la configurazione del server locale è diverso, si può anche essere somministrato. Per risolvere questo problema, aggiungere il seguente elemento nel file web.config nel sito:

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