Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 27998|Svar: 3

[Kilde] Asp.Net autentificering og autorisation i MVC

[Kopier link]
Opslået på 16/03/2017 13.47.34 | | |

MVC leveres med et ActionFilter
For at opnå identitetsautentificering i Asp.NET WebForm tilbyder Microsoft os tre måder, hvoraf den mest anvendte er vores formularautentificering, som skal konfigureres med de tilsvarende oplysninger. For eksempel følgende konfigurationsinformation:


Det betyder, at vores login-side er Login.aspx, standardsiden efter vellykket login er Default.aspx, og vores brugerinformation benytter to metoder: verifikation og kryptering. Og det vigtigste er, at vi skal skrive autorisationsmetoden (autorisationen nedenfor skal skrives, ellers er det nytteløst kun at bruge formularautentificering og derefter sætte relevante attributter), nægte alle anonyme brugere, og kun indloggede brugere kan få adgang normalt. Derefter sætter vi login-knappen til at skrive brugernavnet ind i cookien (det vil sige, udføre FormsAuthentication.SetAuthCookie(name, false); Det er det.
0 I Asp.Net MVC kan vi også bruge Forms authentication, men hvis du gør det i WebForm, virker det ikke. For eksempel konfigurerer du informationen sådan her:


Du opretter et login i din Login.aspx for at aktivere Login-login i AccountControlleren for at logge ind, hvor login-koden er:

Efter at have gjort dette, vil du opdage, at din Logon ikke bliver udført. Hvad er grunden? Hvorfor virker den samme indstilling ikke i MVC? Årsagen er, at mekanismen er anderledes, fordi du opretter en autorisationsmetode, der gør Logon utilgængelig. Så hvordan gør vi det?
Faktisk har vi i Asp.Net MVC en bedre måde at gøre alt dette på, vi behøver ikke en autorisationsmetode, hvilket betyder, at vores konfigurationsinformation ser sådan ud:




Der er ikke behov for at specificere, at anonyme brugere ikke kan logge ind osv. Selvfølgelig vil du opdage, at det ikke er nok bare at gøre dette, men vi skal fortælle systemet, hvilke der skal logges ind for at få adgang. Du tænker måske, o()〈))o Åh, det er for besværligt. Det er ikke sådan, det er meget simpelt, vi skal bare markere [Autoriser] på den handling, der skal autentificeres. For eksempel har jeg to sider i Home-mappen, Index og Home, og jeg vil have, at Index autentificeres for adgang, men Home gør ikke, så jeg behøver kun at give Index Action-tagget [Autoriser], altså:



Dette gør det muligt at tilgå Index efter login, mens Home ikke behøver at være logget ind. Hvis du skal godkende roller, kan du angive rollen, når du markerer Autoriser (f.eks. [Autorisere(Rolle=Administratorer)]), men du skal bruge medlemskabsmekanismen fra Microsoft, fordi din rolle ikke kan eksistere uden grund, men findes i den tilsvarende database, som jeg nævnte i en anden blog.
Tilpas ActionFilteret
Nogle gange kan du måske ikke opfylde denne type autentificering, eller hvis du føler, at du ikke er fleksibel nok, er det ligegyldigt, Asp.Net MVC tillader dig at tilpasse din ActionFilter. For eksempel tilpasser jeg nu autentificeringen:


Hvis brugerstyring er nødvendig, vil jeg definere de rollerelaterede filtre:

Faktisk vil du opdage, at de to ovenstående attributter er blevet løst af MVC's indbyggede autoriserede, og her fortæller vi dig hovedsageligt, at du kan udvide den, hvis nødvendigt.
Nå, det var det for i dag! Kildekode-download: FormFormsAuthenticationMvc





Tidligere:Efter VPS-opgraderingen er processen omkring 45, og CPU'en kører op på 100,
Næste:Advarsel: "Uløste konflikter fundet mellem forskellige versioner af den samme afhængige samling"
 Udlejer| Opslået på 30/03/2017 09.40.22 |
Opslået på 28/12/2017 14.58.56 |
Det ville være bedre, hvis der var renderings
Opslået på 07/02/2023 15.44.56 |

Det ville være bedre, hvis der var renderings
Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com