MVC nāk ar ActionFilter Lai panāktu identitātes autentifikāciju Asp.NET WebForm, Microsoft piedāvā trīs veidus, no kuriem visbiežāk izmantotais ir mūsu veidlapas autentifikācija, kas jākonfigurē ar atbilstošo informāciju. Piemēram, šāda konfigurācijas informācija:
Tas nozīmē, ka mūsu pieteikšanās lapa ir Login.aspx, noklusējuma lapa pēc veiksmīgas pieteikšanās ir Default.aspx, un mūsu lietotāja informācija izmanto divas metodes: verifikāciju un šifrēšanu. Un vissvarīgākais ir tas, ka mums ir jāraksta autorizācijas metode (zemāk esošā autorizācija ir jāraksta, pretējā gadījumā ir bezjēdzīgi izmantot tikai veidlapu autentifikāciju un pēc tam iestatīt attiecīgos atribūtus), noliegt visus anonīmos lietotājus, un tikai pieteikušies lietotāji var piekļūt normāli. Pēc tam mēs iestatījām pieteikšanās pogu, lai sīkdatnē ierakstītu lietotājvārdu (tas ir, izpildīt FormsAuthentication.SetAuthCookie(nosaukums, nepatiess); Tas ir viss. 0 MVC Asp.Net mēs varam izmantot arī veidlapu autentifikāciju, bet, ja jūs to darāt WebForm, tas nedarbosies. Piemēram, informāciju konfigurējat šādi:
Jūs iestatāt pieteikšanos savā Login.aspx, lai aktivizētu pieteikšanos AccountController, lai pieteiktos, kur pieteikšanās kods:
Pēc tam jūs atradīsit, ka jūsu pieteikšanās netiks izpildīta. Kāds ir iemesls? Kāpēc tas pats iestatījums nedarbojas MVC? Iemesls ir tāds, ka mehānisms ir atšķirīgs, jo jūs iestatāt autorizācijas metodi, kas padara pieteikšanos nepieejamu. Tātad, kā mēs to darām? Patiesībā MVC Asp.Net mums ir labāks veids, kā to visu izdarīt, mums nav nepieciešama autorizācijas metode, kas nozīmē, ka mūsu konfigurācijas informācija izskatās šādi:
Nav jānorāda, ka anonīmi lietotāji nevar pieteikties utt. Protams, jūs atklāsiet, ka tikai ar to nepietiek, bet mums ir jāpasaka sistēmai, kuri no tiem ir jāpiesakās, lai piekļūtu. Jūs, iespējams, domājat, o()〈))o Ak, tas ir pārāk daudz problēmu. Tas nav tā, tas ir ļoti vienkārši, mums vienkārši jāatzīmē [Autorizēt] uz darbības, kas jāautentificē. Piemēram, man ir divas lapas mapē Sākums, Indekss un Sākums, un es vēlos, lai indekss tiktu autentificēts, lai piekļūtu, bet Sākums nav, tāpēc man tikai jāpiešķir indeksam darbības tags [Autorizēt], tas ir:
Tas ļauj piekļūt indeksam pēc pieteikšanās, bet sākums nav jāpiesakās. Ja jums ir nepieciešams autorizēt lomas, tad varat norādīt lomu, atzīmējot Autorizēt (piemēram, [Autorizēt(Loma=Administratori)]), bet jums ir jāizmanto Microsoft nodrošinātais dalības mehānisms, jo jūsu loma nevar pastāvēt nekas, bet pastāv attiecīgajā datu bāzē, ko es pieminēju citā emuārā. ActionFilter pielāgošana Dažreiz jūs, iespējams, nevarēsiet izpildīt šāda veida autentifikāciju vai, ja jūtat, ka neesat pietiekami elastīgs, tad tas nav svarīgi, Asp.Net MVC ļauj pielāgot savu ActionFilter. Piemēram, tagad es pielāgoju autentifikāciju:
Ja ir nepieciešama lietotāju pārvaldība, es definēšu ar lomām saistītos filtrus:
Patiesībā jūs atradīsit, ka iepriekš minētos divus atribūtus faktiski ir atrisinājis MVC iebūvētais autorizētais, un šeit mēs galvenokārt sakām, ka vajadzības gadījumā varat to pagarināt. Nu, tas ir šodien! Avota koda lejupielāde: FormFormsAuthenticationMvc
|