Questo articolo è un articolo speculare di traduzione automatica, clicca qui per saltare all'articolo originale.

Vista: 28762|Risposta: 3

[Fonte] Asp.Net autenticazione e autorizzazione in MVC

[Copiato link]
Pubblicato su 16/03/2017 13:47:34 | | |

MVC è dotato di un ActionFilter
Per ottenere l'autenticazione dell'identità in Asp.NET WebForm, Microsoft ci offre tre modi, il più comunemente utilizzato è l'autenticazione del Modulo, che deve essere configurata con le informazioni corrispondenti. Ad esempio, le seguenti informazioni di configurazione:


Significa che la nostra pagina di accesso è Login.aspx, la pagina predefinita dopo il login riuscito è Default.aspx, e le nostre informazioni utente adottano due metodi: verifica e crittografia. E la cosa più importante è che dobbiamo scrivere il metodo di autorizzazione (l'autorizzazione qui sotto deve essere scritta, altrimenti è inutile usare solo l'autenticazione dei moduli e poi impostare gli attributi rilevanti), negare tutti gli utenti anonimi e solo gli utenti lognati possono accedere normalmente. Dopodiché, impostamo il pulsante di accesso per scrivere il nome utente nel cookie (cioè, eseguire FormsAuthentication.SetAuthCookie(name, false); Questo è tutto.
0 In Asp.Net MVC possiamo anche usare l'autenticazione Forms, ma se la fai in WebForm non funzionerà. Ad esempio, configuri le informazioni così:


Hai impostato un accesso nel Login.aspx per attivare il login nell'AccountController per accedere, dove il codice di accesso:

Dopo aver fatto questo, scoprirai che il tuo accesso non verrà eseguito. Qual è il motivo? Perché la stessa impostazione non funziona in MVC? Il motivo è che il meccanismo è diverso, perché hai impostato un metodo di autorizzazione che rende il login inaccessibile. Quindi, come facciamo?
In effetti, in Asp.Net MVC abbiamo un modo migliore per fare tutto questo, non abbiamo bisogno di un metodo di autorizzazione, il che significa che le nostre informazioni di configurazione sono così:




Non c'è bisogno di specificare che gli utenti anonimi non possono accedere, ecc. Ovviamente, scoprirai che solo fare questo non basta, ma dobbiamo dire al sistema quali devono essere logati per accederli. Forse starai pensando, o()〈))o Oh, è troppo disturbo. Non è così, è molto semplice, dobbiamo solo segnare [Autorizzare] sull'Azione che deve essere autenticata. Ad esempio, ho due pagine nella cartella Home, Index e Home, e voglio che l'Index sia autenticato per l'accesso, ma Home no, quindi devo solo dare all'Index il tag Action [Authorize], cioè:



Questo permette di accedere a Index dopo l'accesso, mentre Home non è necessario effettuare l'accesso. Se devi autorizzare ruoli, puoi specificare il ruolo quando segni Autorizza (ad esempio [Authorize(Role=Administrators)]), ma devi usare il meccanismo di appartenenza fornito da Microsoft, perché il tuo ruolo non può esistere gratuitamente, ma esiste nel database corrispondente, come ho menzionato in un altro blog.
Personalizza l'ActionFilter
A volte potresti non riuscire a soddisfare questo tipo di autenticazione, oppure, se senti di non essere abbastanza flessibile, non importa, Asp.Net MVC ti permette di personalizzare il tuo ActionFilter. Ad esempio, ora personalizzo l'autenticazione:


Se è richiesta la gestione degli utenti, definirò i filtri correlati al ruolo:

In effetti, scoprirai che i due attributi sopra elencati sono stati effettivamente risolti dall'Authorized integrato di MVC, e qui vi diciamo principalmente che potete estenderlo se necessario.
Bene, per oggi è tutto! Codice sorgente scarica: FormFormsAuthenticationMvc





Precedente:Dopo l'aggiornamento VPS, il processo è circa 45 e la CPU arriva a 100,
Prossimo:Avviso: "Conflitti irrisolti riscontrati tra diverse versioni dello stesso assembly dipendente"
 Padrone di casa| Pubblicato su 30/03/2017 09:40:22 |
Pubblicato su 28/12/2017 14:58:56 |
Sarebbe meglio se ci fossero dei rendering
Pubblicato su 07/02/2023 15:44:56 |

Sarebbe meglio se ci fossero dei rendering
Disconoscimento:
Tutto il software, i materiali di programmazione o gli articoli pubblicati dalla Code Farmer Network sono destinati esclusivamente all'apprendimento e alla ricerca; I contenuti sopra elencati non devono essere utilizzati per scopi commerciali o illegali, altrimenti gli utenti dovranno sostenere tutte le conseguenze. Le informazioni su questo sito provengono da Internet, e le controversie sul copyright non hanno nulla a che fare con questo sito. Devi eliminare completamente i contenuti sopra elencati dal tuo computer entro 24 ore dal download. Se ti piace il programma, ti preghiamo di supportare software autentico, acquistare la registrazione e ottenere servizi autentici migliori. In caso di violazione, vi preghiamo di contattarci via email.

Mail To:help@itsvse.com