ASP.NET Web Pages - WebSecurity-objekti

Kuvaus

WebSecurity-objekti tarjoaa turvallisuutta ja todennusta ASP.NET Web Pages -sovelluksille.

WebSecurity-objektin avulla voit luoda käyttäjätilin, kirjautua sisään ja ulos, uudelleen asettaa tai muuttaa salasanoja ja niin edelleen.

WebSecurity-objektin referenssikäsikirja - Ominaisuudet

Ominaisuudet Kuvaus
CurrentUserId Hanki nykyisen käyttäjän ID.
CurrentUserName Hanki nykyisen käyttäjän nimi.
HasUserId Hanki arvo, joka osoittaa, onko nykyisellä käyttäjällä käyttäjä ID. Jos on, palauta true.
IsAuthenticated Hanki nykyisen käyttäjän todennustila.

WebSecurity-objektin referenssikäsikirja - Menetelmät

Ominaisuudet Kuvaus
ChangePassword() Muuta käyttäjän salasana.
ConfirmAccount() Vahvista Tilin voimassaolo ja aktivoi Tilin.
CreateAccount() Luo uusi käyttäjätili.
CreateUserAndAccount() Luo uusi käyttäjätili.
GeneratePasswordResetToken() Luo salasanan uudelleen asettamisen vahvistustokenin, joka voidaan lähettää käyttäjälle sähköpostitse.
GetCreateDate() Palauttaa päivämäärän ja kellonajan, jolloin määritetty jäsenyys Tilin luotiin.
GetPasswordChangeDate() Palauttaa päivämäärän ja kellonajan, jolloin määritetty jäsenyys Tilin salasana muutettiin viimeksi.
GetPasswordFailures
SinceLastSuccess()
Palauttaa virheellisten salasanojen lukumäärän, jotka on syötetty viimeisestä onnistuneesta kirjautumisesta tai jäsenyys Tilin luomisesta.
GetUserId() Palauttaa käyttäjän ID:n määritetystä käyttäjätunnuksista.
GetUserIdFrom
PasswordResetToken ()
Palauta käyttäjä ID salasanan palautuslipusta.
InitializeDatabaseConnection() Aloita jäsenyysjärjestelmä yhdistämällä käyttäjätietoja sisältävä tietokanta.
IsAccountLockedOut() Indikoitaa, onko määritettyjä jäsenyystiliä lukittu liian monien epäonnistuneiden salasanayritysten vuoksi.
IsConfirmed() Palauta arvo, joka viittaa siihen, onko käyttäjä vahvistettu.
IsCurrentUser() Palauta arvo, joka viittaa siihen, vastaako kirjautunut käyttäjänimi määritettyyn käyttäjänimeen.
Login() Kirjaudu sisään käyttäjä.
Logout() Kirjauta ulos käyttäjä.
RequireAuthenticatedUser() Jos käyttäjä ei ole kirjautunut sisään, aseta HTTP-tilakoodi 401 (ei sallittu).
RequireRoles() Jos nykyinen käyttäjä ei kuulu määritettyyn rooliin, aseta HTTP-tilakoodi 401.
RequireUser() Jos nykyinen käyttäjä ei ole määritetty käyttäjä, aseta HTTP-tilakoodi 401.
ResetPassword() Näytä salasanan palautuslippu salasanan palauttamiseksi.
UserExists() Tarkista, onko käyttäjä olemassa.

Tekninen tieto

Nimi Arvo
Class WebMatrix.WebData.WebSecurity
Namespace WebMatrix.WebData
Assembly WebMatrix.WebData.dll

Aloita WebSecurity-tietokanta

Ennen kuin käytät WebSecurity-objektia, sinun on luotava tai aloitettava WebSecurity-tietokanta.

Luo tai muokkaa _AppStart.cshtml-sivua web-kansiossa.

Kirjoita seuraava koodi tähän tiedostoon:

_AppStart.cshtml

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

Verkkosivusto suorittaa aina yllä olevan koodin käynnistettäessä. Se aloittaa WebSecurity-tietokannan.

"Users" on WebSecurity-tietokannan nimi. (Users.sdf)

"UserProfile" on käyttäjäkonfiguraatiotietojen sisältävän tietokantataulun nimi.

"UserId" sisältää käyttäjä ID:n sarakkeen nimi (pääavain).

"Email" on käyttäjänimen sisältävä sarakkeen nimi.

Viimeinen parametri true on looginen arvo, joka osoittaa, että käyttäjän profiilitaulun ja jäsenyystaulun (jos ne eivät ole olemassa) tulisi luoda, muuten false.

Vinkki: Vaikka true viittaa tietokantataulujen automaattiseen luomiseen, tietokanta itse ei luoda automaattisesti. Se on oltava olemassa.

WebSecurity-tietokanta

UserProfile-taulun jokainen tietue edustaa käyttäjää, mukaan lukien käyttäjä ID (pääavain) ja käyttäjänimi (sähköposti):

UserId Sähköposti
1 john@johnson.net
2 peter@peterson.com
3 lars@larson.eut

Membership-taulu sisältää jäsenyysinformaation, kuten milloin käyttäjä luoi käyttäjän ja onko (ja milloin) jäsenyys vahvistettu.

Näin (jotkut sarakkeet eivät ole lueteltu):

UserId Luontipäivämäärä Vahvista
Lippu
Onko
Vahvista
Viimeinen
Salasanan virhe
Salasana Salasanan muuttaminen
1 12.04.2012 16:12:17 NULL True NULL AFNQhWfy.... 12.04.2012 16:12:17

Huomautus:Jos haluat nähdä kaikki sarakkeet ja kaikki sisällön, avaa tietokanta WebMatrixin kautta ja tarkastele jokaisen taulun.

Yksinkertainen jäsenyysasetus

Jos verkkosivustosi ei ole konfiguroitu käyttämään ASP.NET Web Pages -jäsenyysjärjestelmää SimpleMembership, virhe voi tapahtua käyttäessäsi WebSecurity-objektia.

Jos isäntäpalvelimen asetukset poikkeavat paikallisesta palvelimesi asetuksista, virhe voi tapahtua. Tämän ongelman ratkaisemiseksi lisää verkkosivuston Web.config-tiedostoon seuraavat elementit:

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