ASP.NET webblaaie - WebSecurity Object
Beskrywing
Die WebSecurity Object verskaf sekuriteit en verifikasie vir ASP.NET Web Pages toepassings.
Met die WebSecurity-objek kan jy gebruikersrekeninge skep, gebruikers aanmeld en uitteken, wagwoorde terugstel of verander, en meer.
WebSecurity Object Verwysing - Eienskappe
Properties | Description |
---|---|
CurrentUserId | Gets the ID for the current user |
CurrentUserName | Gets the name of the current user |
HasUserId | Returns true if the current has a user ID |
IsAuthenticated | Returns true if the current user is logged in |
WebSecurity Object Reference - Metodes
Method | Description |
---|---|
ChangePassword() | Changes the password for a user |
ConfirmAccount() | Confirms an account using a confirmation token |
CreateAccount() | Creates a new user account |
CreateUserAndAccount() | Creates a new user account |
GeneratePasswordResetToken() | Generates a token that can be sent to as user by email |
GetCreateDate() | Gets the time the specified membership was created |
GetPasswordChangeDate() | Gets the date and time when password was changed |
GetUserId() | Gets a user ID from a user name |
InitializeDatabaseConnection() | Initializes the WebSecurity system (database) |
IsConfirmed() | Checks if a user is confirmed |
IsCurrentUser() | Checks if the current user matches a user name |
Login() | Logs the user in by setting a token in the cookie |
Logout() | Logs the user out by removing the token cookie |
RequireAuthenticatedUser() | Exits the page if the user is not an authenticated user |
RequireRoles() | Exits the page if the user is not a part of the specified roles |
RequireUser() | Exits the page if the user is not the specified user |
ResetPassword() | Changes a user's password using a token |
UserExists() | Checks if a given user exists |
Inisialiseer die WebSecurity-databasis
Jy moet 'n WebSecurity-databasis skep of inisialiseer voordat jy die WebSecurity-objek in jou kode kan gebruik.
In die wortel van jou web, skep 'n bladsy (of wysig die bladsy ) met die naam _AppStart.cshtml .
Plaas die volgende kode in die lêer:
_AppStart.cshtml
@{
WebSecurity.InitializeDatabaseConnection("Users", "UserProfile",
"UserId", "Email", true);
}
Die kode hierbo sal loop elke keer as die webwerf (toepassing) begin. Dit inisialiseer die WebSecurity-databasis.
"Gebruikers" is die naam van die WebSecurity-databasis (Users.sdf).
"Gebruikersprofiel" is die naam van die databasistabel wat die gebruikerprofielinligting bevat.
"UserId" is die naam van die kolom wat die gebruiker-ID's (primêre sleutel) bevat.
"E-pos" is die naam van die kolom wat gebruikersname bevat.
Die laaste parameter waar is 'n Boolese waarde wat aandui dat die gebruikersprofiel en lidmaatskaptabelle outomaties geskep moet word as hulle nie bestaan nie, anders vals .
Alhoewel waar outomatiese skepping van die databasistabelle aandui , sal die databasis self nie outomaties geskep word nie. Dit moet bestaan.
Die WebSecurity-databasis
Die Gebruikersprofieltabel bevat een rekord vir elke gebruiker, met 'n gebruiker-ID (primêre sleutel) en die gebruiker se naam (e-pos):
UserId | |
---|---|
1 | [email protected] |
2 | [email protected] |
3 | [email protected] |
Die lidmaatskaptabel sal lidmaatskapinligting bevat oor wanneer die gebruiker geskep is en of (en wanneer) die lidmaatskap bevestig is.
Baie soos hierdie (sommige kolomme word nie gewys nie):
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 |
Eenvoudige lidmaatskapkonfigurasie
Jy kan dalk foute kry met die WebSecurity-objek as jou werf nie opgestel is om die ASP.NET Web Pages-lidmaatskapstelsel SimpleMembership te gebruik nie .
Dit kan voorkom as 'n gasheerverskaffer se bediener anders opgestel is as jou plaaslike bediener. Om dit reg te stel, voeg die volgende element by die webwerf se Web.config-lêer:
<appSettings>
<add key="enableSimpleMembership" value="true" />
</appSettings>