از طریق کد زیر کاربر لاگین میکنه حالا میخوام وقتی کاربر لاگین کرد و دوباره ادرس صفحه لاگین وارد کرد کاربر به صفحه موردنظر انتقال داده شود حالا چه چور چه کنم که کاربر لاگین هست یا خیر
protected void ValidateUser(object sender, EventArgs e) { int IDuser = 0; using (SqlConnection con = new SqlConnection(DAL.Utility.Connection_String())) { using (SqlCommand cmd = new SqlCommand("Validate_User")) { string pass_user = FormsAuthentication.HashPasswordForStoringInConfigFile(Lo_loginadmin.Password, "SHA1"); cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@username_user", Lo_loginadmin.UserName); cmd.Parameters.AddWithValue("@pass_user", pass_user); cmd.Connection = con; con.Open(); IDuser = Convert.ToInt32(cmd.ExecuteScalar()); con.Close(); } switch (IDuser) { case -1: Lo_loginadmin.FailureText = "نام کاربری یا رمز عبور شما اشتباه است"; break; case -2: Lo_loginadmin.FailureText = "اکانت شما هنوز فعال نشده است"; break; default: FormsAuthentication.RedirectFromLoginPage(Lo_loginadmin.UserName, Lo_loginadmin.RememberMeSet); break; } } }
با یک session این مشکل حل شدنیه
زمانی که لوگین کرد session رو مقدار دهی کنید و زمانی که به صفحه لوگین دوباره وارد شد چک بشه که این سشم مقدار گرفته یا خیر که اگر گرفته انقال داده بشه به صفحه مورد نظر و اگر نگرفته که لوگین کنه
با استفاده از user.identity.isauthenticated میتونید چک کنید لاگین هست یا خیر
ممنون از شما من هم این مشکل رو داشتم ولی آخر گذاشتم بعد از خروج بره صفحه اصلی سایت.
مدت زمانیش چه چور میشه تعیین کرد مثلا کاربر تا چندروز لوگین نکنه میتونه وارد بشه
در وب کانفیگ باید قرار دهید
<configuration> <system.web> <authentication mode="Forms"> <forms name="SiteName" path="/" loginUrl="~/Login.aspx" protection="All" timeout="30" /> </authentication> </system.web> </configuration>
TimeOut بر اساس دقیقه هست
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)