Denne artikkelen er en speilartikkel om maskinoversettelse, vennligst klikk her for å hoppe til originalartikkelen.

Utsikt: 27998|Svare: 3

[Kilde] Asp.Net autentisering og autorisasjon i MVC

[Kopier lenke]
Publisert på 16.03.2017 13:47:34 | | |

MVC leveres med et ActionFilter
For å oppnå identitetsautentisering i Asp.NET WebForm, gir Microsoft oss tre metoder, hvorav den mest brukte er vår skjemaautentisering, som må konfigureres med tilsvarende informasjon. For eksempel, følgende konfigurasjonsinformasjon:


Det betyr at innloggingssiden vår er Login.aspx, standardsiden etter vellykket innlogging er Default.aspx, og brukerinformasjonen vår benytter to metoder: verifisering og kryptering. Og det viktigste er at vi må skrive autorisasjonsmetoden (autorisasjonen nedenfor må skrives, ellers er det nytteløst å kun bruke skjemaautentisering og deretter sette relevante attributter), nekte alle anonyme brukere, og kun innloggede brukere kan få tilgang normalt. Etter det setter vi innloggingsknappen til å skrive brukernavnet inn i informasjonskapselen (det vil si kjøre FormsAuthentication.SetAuthCookie(name, false); Det er det.
0 I Asp.Net MVC kan vi også bruke skjemaautentisering, men hvis du gjør det i WebForm, vil det ikke fungere. For eksempel konfigurerer du informasjonen slik:


Du setter opp en innlogging i Login.aspx din for å utløse Login-en i AccountController for å logge inn, hvor påloggingskoden:

Etter å ha gjort dette, vil du oppdage at innloggingen din ikke blir utført. Hva er grunnen? Hvorfor fungerer ikke samme innstilling i MVC? Grunnen er at mekanismen er annerledes, fordi du setter opp en autorisasjonsmetode som gjør Logon utilgjengelig. Så hvordan gjør vi det?
Faktisk har vi i Asp.Net MVC en bedre måte å gjøre alt dette på, vi trenger ikke en autorisasjonsmetode, noe som betyr at konfigurasjonsinformasjonen vår ser slik ut:




Det er ikke nødvendig å spesifisere at anonyme brukere ikke kan logge inn, osv. Selvfølgelig vil du oppdage at det ikke er nok bare å gjøre dette, men vi må fortelle systemet hvilke som må logges inn for å få tilgang. Du tenker kanskje, o()〈))o Åh, det er for mye bryderi. Det er ikke slik, det er veldig enkelt, vi trenger bare å markere [Autoriser] på handlingen som må autentiseres. For eksempel har jeg to sider i Home-mappen, Index og Home, og jeg vil at Index skal være autentisert for tilgang, men Home har ikke det, så jeg trenger bare å gi Index handlingstaggen [Authorize], det vil si:



Dette gjør at Index kan nås etter innlogging, mens Home ikke trenger å være logget inn. Hvis du trenger å autorisere roller, kan du spesifisere rollen når du markerer Autoriser (f.eks. [Authorize(Role=Administrators)]), men du må bruke medlemskapsmekanismen som Microsoft tilbyr, fordi rollen din ikke kan eksistere uten grunn, men finnes i den tilsvarende databasen, som jeg nevnte i en annen blogg.
Tilpass ActionFilter
Noen ganger kan det hende du ikke oppfyller denne typen autentisering, eller hvis du føler at du ikke er fleksibel nok, spiller det ingen rolle, Asp.Net MVC lar deg tilpasse ActionFilter. For eksempel tilpasser jeg nå autentisering:


Hvis brukerstyring er nødvendig, vil jeg definere rolle-relaterte filtre:

Faktisk vil du oppdage at de to ovennevnte attributtene faktisk er løst av MVCs innebygde autoriserte, og her forteller vi deg hovedsakelig at du kan utvide det om nødvendig.
Vel, det var alt for i dag! Kildekode nedlasting: FormsFormsAuthenticationMvc





Foregående:Etter VPS-oppgraderingen er prosessen omtrent 45 og CPU-en går opp til 100,
Neste:Advarsel: "Uløste konflikter funnet mellom forskjellige versjoner av samme avhengige assembly"
 Vert| Publisert på 30.03.2017 09:40:22 |
Publisert på 28.12.2017 14:58:56 |
Det hadde vært bedre om det fantes renderinger
Publisert på 07.02.2023 15:44:56 |

Det hadde vært bedre om det fantes renderinger
Ansvarsfraskrivelse:
All programvare, programmeringsmateriell eller artikler publisert av Code Farmer Network er kun for lærings- og forskningsformål; Innholdet ovenfor skal ikke brukes til kommersielle eller ulovlige formål, ellers skal brukerne bære alle konsekvenser. Informasjonen på dette nettstedet kommer fra Internett, og opphavsrettstvister har ingenting med dette nettstedet å gjøre. Du må fullstendig slette innholdet ovenfor fra datamaskinen din innen 24 timer etter nedlasting. Hvis du liker programmet, vennligst støtt ekte programvare, kjøp registrering, og få bedre ekte tjenester. Hvis det foreligger noen krenkelse, vennligst kontakt oss på e-post.

Mail To:help@itsvse.com