Latest web development tutorials

Instrukcja ASP.NET Web Pages WebSecurity referencyjny

opis

WebSecurity ASP.NET Web Pages Obiekt zapewnia bezpieczeństwo aplikacji i uwierzytelniania.

Przez obiektu WebSecurity można tworzyć konta użytkowników, logowania i wylogowania użytkownika, zresetować lub zmienić swoje hasło, a kolejne funkcje związane z bezpieczeństwem.


WebSecurity obiektu - obiekt

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

WebSecurity Object Reference - metody

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


dane techniczne

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


inicjalizacji baza WebSecurity

Jeśli chcesz korzystać z obiektów WebSecurity w kodzie, należy najpierw utworzyć lub zainicjować bazę WebSecurity.

W swoim katalogu WWW, utwórz plik o nazwie Strona _AppStart.cshtml (jeśli już istnieje, można bezpośrednio edytować stronę).

Skopiuj poniższy kod do pliku:

_AppStart.cshtml

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

Powyższy kod będzie działał w każdym miejscu (zastosowanie) rozpoczyna. To inicjuje bazy WebSecurity.

"Użytkownicy" to baza WebSecurity (Users.sdf) Nazwa.

"UserProfile" to nazwa tabeli bazy danych, która zawiera informacje o konfiguracji użytkownika.

"UserId", który zawiera identyfikator użytkownika (klucz podstawowy) nazwę kolumny.

"E-mail" jest nazwą kolumny nazwa użytkownika.

Wreszcie prawdziwy parametr jest wartością logiczną, która wskazuje, czy tabele konfiguracyjne użytkownika i tabel użytkownika nie istnieje, zostanie ona automatycznie utworzyć tabelę. Jeśli nie chcesz, aby automatycznie utworzyć tabelę, należy ustawić parametr na wartość false.

lampa Chociaż prawdą do automatycznego tworzenia tabel w bazie danych, ale baza danych nie zostanie utworzony automatycznie. A więc musi istnieć w bazie danych.


baza WebSecurity

Stół UserProfile stworzony dla każdego użytkownika, aby zachować zapis, identyfikator użytkownika (klucz podstawowy) i nazwę użytkownika (email):

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

Tabela zawiera informacje Członkostwo członkostwa, takich jak, gdy użytkownik jest tworzony, jeśli członek posiada certyfikat certyfikat członkiem Która godzina, i tak dalej.

Jak przedstawiono poniżej (część kolumny nie są wyświetlane)

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

Uwaga: Jeśli chcesz zobaczyć wszystkie kolumny i samych materiałów, otworzyć bazę danych, spójrz na każdym stole w środku.


Prosta konfiguracja członkiem

Podczas korzystania z obiektów WebSecurity, jeśli witryna nie jest skonfigurowany do korzystania z systemu ASP.NET Web Pages państwa SimpleMembership, może być podana.

W przypadku skonfigurowania serwera dostawcy hostingu i lokalna konfiguracja serwera jest inna, może być również podane. Aby rozwiązać ten problem, należy dodać następujący element w pliku Web.config na stronie internetowej:

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