fo_11 Posted November 5, 2010 at 01:03 AM Report #353320 Posted November 5, 2010 at 01:03 AM Eu estou a tentar criar um login mas uma das funções esta sempre a dar null mesmo de depois de efectuar o login. Alguem sabe o que se passa? using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.SessionState; namespace CoviBank { public partial class login : System.Web.UI.Page { protected void Login_Authenticate(object sender, AuthenticateEventArgs e) { //aqui é verificado quem esta a tentar aceder ao site esta de facto registado if (Login.UserName == "admin" && Login.Password == "123") { e.Authenticated = true; Session["autorizado"] = "yes"; } else e.Authenticated = false; } protected void Page_Load(object sender, EventArgs e) { if (Session["autorizado"] != null) { //caso o utilizador esteja logado é redireccionado para o menu caso tente voltar à pagina de login.aspx if (Session["autorizado"].ToString() == "yes") { //Response.Redirect("menu.aspx"); Response.Write("ola"); } } else Response.Write("esta a null"); } } }
Rechousa Posted November 5, 2010 at 01:09 AM Report #353321 Posted November 5, 2010 at 01:09 AM Não será porque o Page_Load é executado antes do Login_Authenticate? Experimenta substituir o evento Page_Load pelo Page_PreRender, mantendo o mesmo código. ASP.NET Page Life Cycle Overview: http://msdn.microsoft.com/en-us/library/ms178472.aspx Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
fo_11 Posted November 5, 2010 at 01:14 AM Author Report #353323 Posted November 5, 2010 at 01:14 AM O problema continua... 👍
Rechousa Posted November 5, 2010 at 01:26 AM Report #353325 Posted November 5, 2010 at 01:26 AM Aqui funcionou 🙂 using System; using System.Web.UI.WebControls; public partial class frmLogin : System.Web.UI.Page { protected void Login_Authenticate(object sender, AuthenticateEventArgs e) { //aqui é verificado quem esta a tentar aceder ao site esta de facto registado if (Login.UserName == "admin" && Login.Password == "123") { e.Authenticated = true; Session["autorizado"] = "yes"; } else e.Authenticated = false; } protected void Page_PreRender(object sender, EventArgs e) { if (Session["autorizado"] != null) { //caso o utilizador esteja logado é redireccionado para o menu caso tente voltar à pagina de login.aspx if (Session["autorizado"].ToString() == "yes") { //Response.Redirect("menu.aspx"); Response.Write("ola"); } } else Response.Write("esta a null"); } } Na página web: <asp:Login ID="Login" runat="server" onauthenticate="Login_Authenticate" /> Verifica se tens o teu código assim. Podes sempre experimentar criar um novo projecto e colocar este código lá e vais ver que vai correr 👍 Caso contrário... Só se for algum problema no IIS. Por acaso não estás a usar Sharepoint, pois não? Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
fo_11 Posted November 5, 2010 at 01:31 AM Author Report #353326 Posted November 5, 2010 at 01:31 AM Problem solved. Escrevi uma meta tag a dizer ao computador para não utilizar a cache para salvar as paginas html. O computador não estava apresentar actualizar a pagina mas sim a ir buscar à memória.
Rechousa Posted November 5, 2010 at 01:34 AM Report #353328 Posted November 5, 2010 at 01:34 AM 👍 E estavas a usar o IE, não? Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
fo_11 Posted November 5, 2010 at 03:02 AM Author Report #353330 Posted November 5, 2010 at 03:02 AM Hahaha, ya...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now