PDA

View Full Version : مشکل در redirect شدن هنگام لاگین به سایت



jamali_yosef
چهارشنبه 20 دی 1391, 19:25 عصر
سلام دوستان خسته نباشید

من تو صفحه لاگین هنگام زدن کلید ورود به سایت کد زیر رو نوشتم و تو webconfig هم کابر را به صفحه login .aspx هدایت میکنم اما من وقتی که کلید ورود به سایت رو میزنم اگه کاربر مجاز باشه اونو به صفحه default.aspx منتقل میکنه که نمیدونم این چه جوری میشه من اصلا صفحه ای با این نام ندارم و اصلا بعد از لاگین به این صفحه redirect نمیکنم. مشکل از کجاست.
if (Page.IsValid)
{
//try
//{
bool uservalid = bll_user.IsUserValid(txt_user.Text.Trim().ToString (), txt_pass.Text.Trim().ToString());
bool IsUserAvtiv = bll_user.IsUserActiv(txt_user.Text.Trim().ToString (), txt_pass.Text.Trim().ToString());

if (uservalid)
{
if (IsUserAvtiv)
{
Session["User_Id"] = bll_user.Autenticate(txt_user.Text.Trim().ToString (), txt_pass.Text.Trim().ToString());
Session["username"] = txt_user.Text.Trim().ToString();
string role = Convert.ToString(bll_user.getmemberroleByUsername( txt_user.Text.ToString()));
FormsAuthenticationTicket ahthenticat = new FormsAuthenticationTicket(1, txt_user.Text.Trim().ToString(), DateTime.Now, DateTime.Now.AddHours(1), false, role);
string EncryptTicket = FormsAuthentication.Encrypt(ahthenticat);
HttpCookie AuthCookei = new HttpCookie(FormsAuthentication.FormsCookieName, EncryptTicket);
Response.Cookies.Add(AuthCookei);
//Response.Redirect(FormsAuthentication.GetRedirectU rl(txt_user.Text.Trim().ToString(), true));
FormsAuthentication.RedirectFromLoginPage(txt_user .Text.Trim().ToString(),true);

}
else
{
lbl_message.Text = "اکانت شما هنوز فعال نشده است.";
}
}
else
{
// FormsAuthentication.RedirectToLoginPage(Login2.Use rName.ToString());
lbl_message.Text = "نام کاربری و یا کلمه عبور اشتباه است.";
}
//}

//catch (Exception ex)
//{

//}
}

morteza_mokhtari
چهارشنبه 20 دی 1391, 23:29 عصر
سلام دوست عزیز بنده خودم از login ماسکروسافت استفاده نکردم ولی فکر کنم تویه webconfig باید تعریف کنید که اسم صفحه لاگینتون چیه و بعد باید به کجا redirerct بشه.

Mohamad1362
پنج شنبه 21 دی 1391, 00:00 صبح
FormsAuthentication.RedirectFromLoginPage(txt_user .Text.Trim().ToString(),true);این خط رو حذف کن و به جاش یه دستور Redirect بذار که کاربر رو به سمت صفحه ای که میخوای هدایت کنه :
Response.Redirect("~/User.aspx");

jamali_yosef
پنج شنبه 21 دی 1391, 14:54 عصر
سلام
اگه از formsauthentication.redirectfromloginpage استفاده نکنم مثلا اگه کاربر بخواد یه تاپیک ایجاد کنه و کاربر مجاز نباشه اونو به صفحه لاگین منتقل میکنه و بعد از لاگین شدن با کدی که شما گفتید اونو به صفحه user.aspx منتقل میکنه در حالی که باید به صفحه ایجاد تاپیک برگرده. اینجوری نوشتن هم این مشکلات رو داره.