più comuni per il controllo di Login proposto da M.S. e di generare e gestire altri messaggi
in caso di Fallita Login.
A tal propostio può essere utilie ricordare quali sono gli eventi che concorrono per la login
protected void LoginPanel_LoggedIn(object sender, EventArgs e)
{
// generata a Login Effettuata
// comdoda da usare se serve salvare
// qualche informazione in sessione
}
protected void LoginPanel_LoggingIn(object sender,
LoginCancelEventArgs e)
{
//
// generata durante la login
//
if ( condizione1 == false)
{
LoginPanel_LoginError("1", new EventArgs());
e.Cancel = true;
return;
}
if ( condizione2 == false)
{
LoginPanel_LoginError("2", new EventArgs());
e.Cancel = true;
return;
}
if ( condizione3 == false)
{
LoginPanel_LoginError("3", new EventArgs());
e.Cancel = true;
return;
}
}
protected void LoginPanel_LoginError(object sender, EventArgs e)
{
//
// da invocare in caso di errore
// o invocata in caso di errore...
//
if (sender.ToString() == "1")
{
CustomValidator vldLoginFailed =
(CustomValidator)LoginUser.FindControl("cstErrore1");
vldLoginFailed.IsValid = false;
}
// per tutti e tre i casi
}
Questo è quanto necessario riportare nel tag LayoutTemplate
<asp:CustomValidator id="cstErrore1"
runat="server" ErrorMessage="messaggio 1"
ValidationGroup="LoginUserValidationGroup"
Visible="false" />
<asp:CustomValidator id="cstErrore2"
runat="server" ErrorMessage="messaggio 2"
ValidationGroup="LoginUserValidationGroup"
Visible="false" />
<asp:CustomValidator id="cstErrore3"
runat="server" ErrorMessage="messaggio 3"
ValidationGroup="LoginUserValidationGroup"
Visible="false" />
<asp:ValidationSummary
ID="LoginUserValidationSummary" runat="server"
ValidationGroup="LoginUserValidationGroup"
HeaderText="Login Fallita:"/>
E questa è la dichiarazione del nostro pannello di login
<asp:Login ID="LoginPanel" runat="server"
EnableViewState="True"
RenderOuterTable="True"
OnLoggedIn="LoginPanel_LoggedIn"
OnLoggingIn="LoginPanel_LoggingIn"
OnLoginError="LoginPanel_LoginError">
Questa non troppo complessa struttura ci consente di effettuare delle verifiche prima che la login sia realmente avvenuta e di comunicare all'utente che cosa ha sbagliato o perchè non può loggarsi
Nessun commento:
Posta un commento