Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 27998|Atsakyti: 3

[Šaltinis] Asp.Net autentifikavimas ir autorizacija MVC

[Kopijuoti nuorodą]
Paskelbta 2017-03-16 13:47:34 | | |

MVC yra su "ActionFilter"
Norėdami pasiekti tapatybės autentifikavimą Asp.NET WebForm", "Microsoft" pateikia mums tris būdus, iš kurių dažniausiai naudojamas yra mūsų formos autentifikavimas, kurį reikia sukonfigūruoti naudojant atitinkamą informaciją. Pavyzdžiui, ši konfigūracijos informacija:


Tai reiškia, kad mūsų prisijungimo puslapis yra Login.aspx, numatytasis puslapis po sėkmingo prisijungimo yra Default.aspx, o mūsų vartotojo informacija naudojama dviem būdais: patvirtinimu ir šifravimu. Ir svarbiausia yra tai, kad turime parašyti autorizacijos metodą (žemiau pateiktas įgaliojimas turi būti parašytas, kitaip nenaudinga naudoti tik formų autentifikavimą ir tada nustatyti atitinkamus atributus), paneigti visus anoniminius vartotojus, o tik prisijungę vartotojai gali normaliai pasiekti. Po to mes nustatėme prisijungimo mygtuką, kad vartotojo vardas būtų įrašytas į slapuką (tai yra, vykdyti FormsAuthentication.SetAuthCookie(vardas, klaidingas); Viskas.
0 Asp.Net MVC taip pat galime naudoti formų autentifikavimą, bet jei tai padarysite "WebForm", tai neveiks. Pavyzdžiui, informaciją konfigūruojate taip:


Savo Login.aspx nustatėte prisijungimą, kad suaktyvintumėte prisijungimą prie AccountController, kur prisijungimo kodas:

Tai padarę pamatysite, kad jūsų įėjimas nebus vykdomas. Kokia priežastis? Kodėl tas pats nustatymas neveikia MVC? Priežastis ta, kad mechanizmas skiriasi, nes nustatote autorizacijos metodą, dėl kurio įėjimas tampa nepasiekiamas. Taigi, kaip tai padaryti?
Tiesą sakant, Asp.Net MVC turime geresnį būdą visa tai padaryti, mums nereikia autorizacijos metodo, o tai reiškia, kad mūsų konfigūracijos informacija atrodo taip:




Nereikia nurodyti, kad anoniminiai vartotojai negali prisijungti ir pan. Žinoma, pastebėsite, kad vien to nepakanka, tačiau turime pasakyti sistemai, prie kurių reikia prisijungti, kad galėtumėte prisijungti. Galbūt galvojate, o()〈))o O, tai per daug bėdos. Tai nėra taip, tai labai paprasta, mums tiesiog reikia pažymėti [Įgalioti] ant veiksmo, kurį reikia autentifikuoti. Pavyzdžiui, pagrindiniame aplanke turiu du puslapius, rodyklę ir pagrindinį, ir noriu, kad rodyklė būtų autentifikuota, kad galėčiau pasiekti, bet pagrindinis ne, todėl turiu suteikti indeksui tik veiksmo žymę [Įgalioti], tai yra:



Tai leidžia pasiekti "Index" prisijungus, o "Home" nereikia prisijungti. Jei jums reikia įgalioti vaidmenis, galite nurodyti vaidmenį žymėdami Įgalioti (pvz., [Įgalioti(Role=Administratoriai)]), tačiau turite naudoti "Microsoft" teikiamą narystės mechanizmą, nes jūsų vaidmuo negali egzistuoti veltui, bet egzistuoja atitinkamoje duomenų bazėje, kurią minėjau kitame tinklaraštyje.
Tinkinti ActionFilter
Kartais gali nepavykti įvykdyti tokio autentifikavimo arba jei manote, kad nesate pakankamai lankstūs, tai nesvarbu, Asp.Net MVC leidžia tinkinti "ActionFilter". Pavyzdžiui, dabar tinkinu autentifikavimą:


Jei reikalingas vartotojų valdymas, apibrėžsiu su vaidmenimis susijusius filtrus:

Tiesą sakant, pastebėsite, kad pirmiau minėtus du atributus iš tikrųjų išsprendė MVC integruotas įgaliotasis, ir čia daugiausia sakome, kad prireikus galite jį pratęsti.
Na, tai viskas šiandien! Šaltinio kodo atsisiuntimas: FormFormsAuthenticationMvc





Ankstesnis:Po VPS atnaujinimo procesas yra apie 45, o procesorius veikia iki 100,
Kitą:Įspėjimas "Rasti neišspręsti konfliktai tarp skirtingų to paties priklausomo rinkinio versijų"
 Savininkas| Paskelbta 2017-03-30 09:40:22 |
Paskelbta 2017-12-28 14:58:56 |
Būtų geriau, jei būtų atvaizdai
Paskelbta 2023-02-07 15:44:56 |

Būtų geriau, jei būtų atvaizdai
Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com