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.
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 | |
---|---|
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:
<add key="enableSimpleMembership" value="true" />
</appSettings>