Come è possibile evitare che il parametro ReturnUrl della mia pagina Login.aspx sovrascriva la proprietà DestinationPageUrl del controllo di accesso ASP.NET?
-
09-06-2019 - |
Domanda
Sto usando il Controlli di accesso ASP.NET E Autenticazione basata su moduli per l'appartenenza/credenziali per un'applicazione Web ASP.NET.Ho pagine come PasswordRecovery.aspx accessibili solo agli utenti anonimi.Quando faccio clic sul collegamento di accesso da tale pagina, la pagina di accesso ha un file ReturnUrl parametro nella barra degli indirizzi:
http://www.example.com/Login.aspx?ReturnUrl=PasswordRecovery.aspx
E poi, dopo un accesso riuscito, gli utenti vengono riportati al file PasswordRecovery.aspx pagina specificata nel ReturnUrl parametro al quale non hanno più accesso.
Soluzione
Ho trovato la risposta su Recensioni sulla velocità.Ho gestito l'evento LoggedIn per forzare un reindirizzamento alla pagina DestinationPageUrl.
Public Partial Class Login
Inherits System.Web.UI.Page
Protected Sub Login1_LoggedIn(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Login1.LoggedIn
'overrides ReturnUrl page parameter
Response.Redirect(Login1.DestinationPageUrl)
End Sub
End Class