Elemento Controlli di accesso
Il controllo Accesso semplifica la creazione di una pagina di accesso per l'autenticazione dei moduli insieme all'API di appartenenza. Fornisce pronto per l'uso interfaccia utente, che richiede nome utente e password e offre all'utente un pulsante per accedere. Dietro le quinte, incapsula la funzionalità descritta nell'articolo precedente: verifica dell'identità dell'utente tramite l'API di appartenenza e incapsula funzionalità di autenticazione dei moduli di base, come il reindirizzamento alla pagina originariamente richiesta in un'area sicura dell'applicazione dopo un'operazione riuscita. login.
Ciò significa che Login incapsula elementi come Membership.ValidateUser() o FormsAuthentication.RedirectFromLoginPage(), quindi non devi scrivere tu stesso quel codice. L'immagine seguente mostra il controllo Login in azione:
Ogni volta che l'utente fa clic sul pulsante Accedi, il controllo verifica automaticamente il nome utente e la password utilizzando la funzione Membership.ValidateUser() e quindi chiama FormsAuthenication.RedirectFromLoginPage() se la verifica ha esito positivo. Tutte le opzioni del controllo Login influiscono sull'input fornito a questi metodi. Ad esempio, se selezioni la casella di controllo Ricordami la prossima volta, passerà il valore true nel parametro createPersistentCookie del metodo RedirectFromLoginPage(). Pertanto, FormsAuthenticationModule crea un cookie persistente.
Dietro le quinte, Login è un controllo composito ASP.NET. È completamente estensibile, nel senso che consente di sovrascrivere qualsiasi stile e proprietà di layout, nonché di intercettare gli eventi emessi per sovrascrivere il suo comportamento predefinito. Se lasci il controllo così com'è e non intercetti alcun evento, utilizzerà automaticamente il provider di appartenenze configurato per l'applicazione.
La forma più semplice di un controllo Login su una pagina è simile alla seguente:
Sono disponibili diverse proprietà per modificare l'aspetto del controllo Login. Può essere utilizzato impostazioni diverse stili come di seguito:
Puoi anche utilizzare le classi CSS per personalizzare l'aspetto di Login. Ogni proprietà di stile supportata dal controllo Login include una proprietà CssClass. Come con qualsiasi altro controllo ASP.NET, questa proprietà consente di specificare il nome di una classe CSS precedentemente aggiunta al sito Web. Supponiamo che al progetto sia stato aggiunto il seguente foglio di stile CSS, con il nome file MyStyles.css:
MyLoginTextBoxStyle ( cursore: puntatore; colore di sfondo: giallo; allineamento testo: centro; imbottitura: 6px; bordo: nero tratteggiato; famiglia di caratteri: Verdana; allineamento verticale: centro; ) .Login ( display: blocco in linea; ) .Titolo (imbottitura: 6px;)
Questo file di stile può essere incluso nella pagina di login per poter dare uno stile all'elemento Login:
Nella tabella seguente sono elencati gli stili supportati dal controllo Login. Ogni stile funziona allo stesso modo. Le proprietà del carattere e del colore possono essere impostate direttamente oppure è possibile utilizzare la proprietà CssClass per specificarle la classe richiesta CSS:
CheckBoxStyle | Definisce le proprietà di stile per la casella di controllo Ricordami la prossima volta. |
FailureStyle | Definisce lo stile del testo visualizzato quando l'accesso non riesce. |
Stile collegamento ipertestuale | Il controllo Login consente di definire diversi tipi di collegamenti ipertestuali, ad esempio alla pagina di registrazione iniziale. Questo stile imposta aspetto tali collegamenti ipertestuali |
IstruzioniTextStyle | Il controllo Login consente di specificare il testo della guida che appare direttamente all'interno del controllo Login. Questo stile specifica l'aspetto di questo testo |
EtichettaStyle | Definisce lo stile per le etichette Nome utente e Password. |
StilePulsanteAccesso | Definisce lo stile del pulsante di accesso |
TextBoxStyle | Definisce lo stile per i campi di testo Nome utente e Password. |
TitoloTestoStile | Definisce lo stile del testo dell'intestazione per il controllo Login |
ValidatoreTextStyle | Definisce gli stili per i controlli utilizzati per convalidare il nome e la password di un utente |
L'interfaccia utente dell'elemento Login non è solo personalizzata tramite questi stili; sono previste altre proprietà aggiuntive alcune parti controllare i contenuti, come il pulsante Accedi, che consente anche di personalizzare la GUI.
Ad esempio, puoi scegliere il testo visualizzato sul pulsante di accesso o anche visualizzare un collegamento ipertestuale al posto di questo pulsante (come impostato per impostazione predefinita). Inoltre, puoi aggiungere più collegamenti ipertestuali al controllo Login, ad esempio un collegamento a una pagina della Guida o a una pagina di registrazione. Entrambe le pagine devono essere aperte accesso anonimo perché l'aiuto dovrebbe essere offerto anche agli utenti anonimi (ricorda che se qualcuno vede il controllo Login, allora è potenzialmente un utente anonimo). Per includere collegamenti aggiuntivi in Login, modificare la definizione mostrata in precedenza come segue:
...
Questo codice provoca la visualizzazione di due collegamenti aggiuntivi: alla pagina della guida e alla pagina di registrazione iniziale, oltre all'aggiunta di testo brevi istruzioni sotto l'intestazione dell'elemento Login:
Gli stili descritti in precedenza si applicano anche a queste proprietà. La tabella seguente descrive proprietà importanti per la configurazione del controllo Login:
Testo del messaggio | |
TitoloTesto | Testo da visualizzare nel titolo del controllo |
TestoIstruzioni | Questa proprietà è già stata utilizzata nel frammento di codice precedente. Contiene il testo visualizzato sotto il titolo del controllo |
Testofallimento | Testo visualizzato dal controllo Login se il tentativo di accesso fallisce |
NomeUtenteLabelText | Testo visualizzato come etichetta prima campo di testo nome utente |
PasswordLabelText | Testo visualizzato come etichetta prima del campo di testo della password dell'utente |
Nome utente | Valore iniziale, che riempie il campo di testo del nome utente |
NomeutenteRequiredErrorMessage | Messaggio di errore visualizzato se l'utente non immette un nome |
Messaggio di errore richiesto dalla password | Messaggio di errore visualizzato se l'utente non ha inserito una password |
Pulsante di accesso | |
LoginButtonText | Testo visualizzato sul pulsante di accesso |
LoginButtonType | |
LoginButtonImageUrl | Se il pulsante di accesso viene presentato come immagine grafica, è necessario specificare l'URL in cui si trova l'immagine |
Pagina di accesso | |
URL pagina di destinazione | Se il tentativo di accesso ha esito positivo, il controllo Login reindirizza l'utente a questa pagina. Per impostazione predefinita, questa proprietà è vuota. A valore vuoto utilizza il framework di autenticazione dei moduli per reindirizzare alla pagina richiesta originale o all'Url predefinito configurato in web.config per l'autenticazione dei moduli |
Azione di fallimento | Definisce l'azione successiva al controllo tentativo fallito Entrata. Due opzioni valide sono Aggiorna e RedirectToLoginPage. Il primo valore comporta solo un aggiornamento pagina corrente e il secondo a un reindirizzamento alla pagina di accesso configurata. La seconda opzione è utile se il controllo Login viene utilizzato in un punto diverso dalla pagina di accesso |
Visibile quando effettuato l'accesso | Se impostato su false, il controllo si nasconde automaticamente se l'utente ha già effettuato l'accesso. Se impostato su true (impostazione predefinita), l'elemento Login viene visualizzato anche se l'utente ha effettuato l'accesso |
Impostazione di un tag "Ricordami". | |
VisualizzaRicordami | Ti consente di mostrare o nascondere la casella di controllo Ricordami la prossima volta. Per impostazione predefinita questa proprietà è impostata su true |
RicordamiSet | Determina il valore predefinito della casella di controllo Ricordami la prossima volta. Per impostazione predefinita, questa proprietà è impostata su false, ovvero la casella di controllo non è selezionata |
Pagina di registrazione | |
CreaUserUrl | Definisce un collegamento ipertestuale a una pagina del sito Web che consente di creare (registrare) un utente. Quindi questo viene generalmente utilizzato per consentire all'utente l'accesso alla pagina di registrazione iniziale. In genere verrà visualizzato il controllo CreateUserWizard |
Createstoutente | |
CreaUserIconUrl | URL immagine grafica, visualizzato insieme al testo del collegamento ipertestuale CreateUserUrl |
Pagina di aiuto | |
HelpPaginaUrl | URL per reindirizzare l'utente alla pagina della guida |
HelpPageText | |
HelpPageIconUrl | L'URL dell'icona visualizzata insieme al testo del collegamento ipertestuale HelpPageUrl |
Pagina di recupero password | |
URL di recupero password | L'URL per reindirizzare l'utente alla pagina di recupero della password. Questa pagina viene utilizzata quando l'utente ha dimenticato la password. In genere viene visualizzato il controllo PasswordRecovery |
TestoRecuperoPassword | |
PasswordRecoveryIconUrl | L'URL dell'icona che appare insieme al testo del collegamento ipertestuale PasswordRecoveryUrl |
Come puoi vedere, tutte queste proprietà rendono il controllo Login altamente personalizzabile. Ma come probabilmente avrai notato, è impossibile definire qualsiasi espressione per verificare la validità dell'input. Naturalmente è possibile implementare la validazione lato server all'interno delle procedure evento offerte dal controllo Login. Quando desideri aggiungere alcuni elementi al controllo composito Login, non puoi farlo tramite le proprietà presentate sopra. Ad esempio, cosa succede se hai bisogno di un secondo campo di testo per autenticazione forte con una seconda password o chiave di accesso personalizzata, come avviene su alcuni siti governativi?
Fortunatamente, come altri controlli come GridView, l'elemento Login supporta i modelli. I modelli consentono di personalizzare il contenuto del controllo Login senza alcuna restrizione. Puoi aggiungervi eventuali nuovi controlli. Applica un modello personalizzato al controllo Login utilizzando l'handle LayoutTemplate:
Registrazione
Nome utente: | |
Password: |
Connessione al sistema
|
utente.aspx
utente
I migliori articoli sull'argomento |