Acest articol este un articol oglindă al traducerii automate, vă rugăm să faceți clic aici pentru a sări la articolul original.

Vedere: 27998|Răspunde: 3

[Sursă] Asp.Net autentificarea și autorizarea în MVC

[Copiază linkul]
Postat pe 16.03.2017 13:47:34 | | |

MVC vine cu un ActionFilter
Pentru a realiza autentificarea identității în Asp.NET WebForm, Microsoft ne oferă trei modalități, cea mai frecvent folosită fiind autentificarea prin formular, care trebuie configurată cu informațiile corespunzătoare. De exemplu, următoarele informații de configurare:


Asta înseamnă că pagina noastră de autentificare este Login.aspx, pagina implicită după autentificare reușită este Default.aspx, iar informațiile utilizatorilor adoptă două metode: verificare și criptare. Și cel mai important este că trebuie să scriem metoda de autorizare (autorizarea de mai jos trebuie scrisă, altfel este inutil să folosim doar autentificarea Forms și apoi să setăm atributele relevante), să refuzăm toți utilizatorii anonimi și doar utilizatorii autentificați să poată accesa normal. După aceea, setăm butonul de autentificare pentru a scrie numele de utilizator în cookie (adică executăm FormsAuthentication.SetAuthCookie(name, false); Atât.
0 În Asp.Net MVC putem folosi și autentificarea Forms, dar dacă o faci în WebForm, nu va funcționa. De exemplu, configurezi informațiile astfel:


Ai configurat un autentificare în Login.aspx pentru a declanșa Logon-ul în AccountController pentru a te loga, unde codul de logare:

După ce faci acest lucru, vei observa că Logon-ul tău nu va fi executat. Care este motivul? De ce nu funcționează aceeași setare în MVC? Motivul este că mecanismul este diferit, pentru că ai configurat o metodă de autorizare care face logarea inaccesibilă. Deci, cum facem asta?
De fapt, în Asp.Net MVC avem o metodă mai bună de a face toate acestea, nu avem nevoie de o metodă de autorizare, ceea ce înseamnă că informațiile noastre de configurare arată astfel:




Nu este nevoie să se specifice că utilizatorii anonimi nu se pot autentifica, etc. Desigur, vei constata că doar făcând asta nu este suficient, dar trebuie să spunem sistemului care trebuie să fie autentificați pentru acces. Poate te gândești, o()〈)))o Oh, asta e prea multă bătaie de cap. Nu e așa, e foarte simplu, trebuie doar să marcăm [Autorizare] pe acțiunea care trebuie autentifică. De exemplu, am două pagini în folderul Home, Index și Home, și vreau ca Indexul să fie autentificat pentru acces, dar Home nu are, așa că trebuie doar să dau Indexului eticheta Action [Authorize], adică:



Acest lucru permite accesul la Index după autentificare, în timp ce Home nu trebuie să fie conectat. Dacă trebuie să autorizezi roluri, poți specifica rolul când marchezi Autorizare (de exemplu [Authorize(Role=Administrators)]), dar trebuie să folosești mecanismul de apartenență oferit de Microsoft, pentru că rolul tău nu poate exista degeaba, ci există în baza de date corespunzătoare, așa cum am menționat într-un alt blog.
Personalizează ActionFilter
Uneori s-ar putea să nu poți îndeplini acest tip de autentificare sau, dacă simți că nu ești suficient de flexibil, atunci nu contează, Asp.Net MVC îți permite să-ți personalizezi ActionFilter. De exemplu, acum personalizez autentificarea:


Dacă este necesară gestionarea utilizatorilor, voi defini filtrele legate de rol:

De fapt, veți descoperi că cele două atribute de mai sus au fost rezolvate de Authorized-ul încorporat al MVC, iar aici vă spunem în principal că îl puteți extinde dacă este necesar.
Ei bine, asta e tot pentru azi! Descărcare cod sursă: FormFormsAuthenticationMvc





Precedent:După upgrade-ul VPS, procesul este de aproximativ 45, iar CPU-ul funcționează până la 100,
Următor:Avertisment: "Conflicte nerezolvate găsite între diferite versiuni ale aceleiași asamblări dependente"
 Proprietarul| Postat pe 30.03.2017 09:40:22 |
Postat pe 28.12.2017 14:58:56 |
Ar fi mai bine dacă ar exista randări
Postat pe 07.02.2023 15:44:56 |

Ar fi mai bine dacă ar exista randări
Disclaimer:
Tot software-ul, materialele de programare sau articolele publicate de Code Farmer Network sunt destinate exclusiv scopurilor de învățare și cercetare; Conținutul de mai sus nu va fi folosit în scopuri comerciale sau ilegale, altfel utilizatorii vor suporta toate consecințele. Informațiile de pe acest site provin de pe Internet, iar disputele privind drepturile de autor nu au legătură cu acest site. Trebuie să ștergi complet conținutul de mai sus de pe calculatorul tău în termen de 24 de ore de la descărcare. Dacă îți place programul, te rugăm să susții software-ul autentic, să cumperi înregistrarea și să primești servicii autentice mai bune. Dacă există vreo încălcare, vă rugăm să ne contactați prin e-mail.

Mail To:help@itsvse.com