سلام و عرض ادب خدمت اساتید عزیز
تو فرم لاگین پروژه م این کدارو نوشتم
UserDataDataContext data = new UserDataDataContext();
UserBaran_Tb user = new UserBaran_Tb();
var query_u = data.UserBaran_Tbs.Where(a => a.username == username_txt.Text).ToList();
var query_p = data.UserBaran_Tbs.Where(a => a.password == password_txt.Text && a.username == username_txt.Text);
if (query_u.Count() == 1)
{
if (query_p.Count() == 1)
{
FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, this.username_txt.Text.Trim(),
DateTime.Now, DateTime.Now.AddMinutes(30), false, "allofuser", FormsAuthentication.FormsCookiePath);
string hash = FormsAuthentication.Encrypt(ticket);
HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash);
if (ticket.IsPersistent)
cookie.Expires = ticket.Expiration;
Response.Cookies.Add(cookie);
Session["fname"] = query_u[0].fname;
//Session["fname"] = query_u[1].lname;
Response.Redirect("~/Default2.aspx?");
}
else
{
message_lbl.Text = "Password Error!";
}
}
else
{
message_lbl.Text = "User Name Error!";
}
تو پیجی که وارد میشم این کدارو زدم
HttpContext.Current.User.Identity.IsAuthenticated.ToString();
if (Session["fname"] != null )
{
fname_lbl.Text = Session["fname"].ToString();
//lname_lbl.Text = Session["fname"].ToString();
Page.Title = "Home page for " + User.Identity.Name;
}
else
{
Page.Title = "Home page for guest user.";
}
و توی وب کانفیگم این دستوراتو وارد کردم
<authentication mode="Forms">
<forms name=".RememberMe" defaultUrl="Default.aspx" loginUrl="Default.aspx" requireSSL="true" timeout="30" path="Default.aspx" cookieless="UseDeviceProfile" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
<customErrors mode="RemoteOnly"/>
<sessionState mode="InProc" customProvider="DefaultSessionProvider">
<providers>
<add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/>
</providers>
</sessionState>
مشکلم اینجاست که موقعی که وارد میشم آئرس پیجی که کاربر وارد اون میشه میاد ولی فرم صفحه لاگین بهم نشون میده
آدرسشم اینه
http://localhost:19972/Default.aspx?ReturnUrl=%2fDefault2.aspx%3f
ولی اصلا بالا نمیاد
البته اگر علامت ؟ این کد رو به / تغییر بدم میاد ولی قابلیت برگشتو به فرم لاگین رو داره
<deny users="?"/>
اشکال کارم کجاست ؟؟؟؟
از اینکه وقت میزارید ومطالب این حقیر رو میخوانید صمیمانه متشکرم
برای درج کد از کلید code در ادیتور استفاده کنید
کدهاتون قابل بررسی نیست
protected void login_btn_Click(object sender, EventArgs e) { UserDataDataContext data = new UserDataDataContext(); UserBaran_Tb user = new UserBaran_Tb(); var query_u = data.UserBaran_Tbs.Where(a => a.username == username_txt.Text).ToList(); var query_p = data.UserBaran_Tbs.Where(a => a.password == password_txt.Text && a.username == username_txt.Text); if (query_u.Count() == 1) { if (query_p.Count() == 1) { FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(1, this.username_txt.Text.Trim(), DateTime.Now, DateTime.Now.AddMinutes(30), false, "allofuser", FormsAuthentication.FormsCookiePath); string hash = FormsAuthentication.Encrypt(ticket); HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, hash); if (ticket.IsPersistent) cookie.Expires = ticket.Expiration; Response.Cookies.Add(cookie); Session["fname"] = query_u[0].fname; //Session["fname"] = query_u[1].lname; Response.Redirect("~/Default2.aspx?"); } else { message_lbl.Text = "Password Error!"; } } else { message_lbl.Text = "User Name Error!"; } }
کد های بالا مربوط به فرم لاگین اینهاهم پیج صفحه ای که کاربر وارد شده
HttpContext.Current.User.Identity.IsAuthenticated.ToString(); if (Session["fname"] != null ) { fname_lbl.Text = Session["fname"].ToString(); //lname_lbl.Text = Session["fname"].ToString(); Page.Title = "Home page for " + User.Identity.Name; } else { Page.Title = "Home page for guest user."; }
کد های وب کانفیگ <authentication mode="Forms"> <forms name=".RememberMe" defaultUrl="Default.aspx" loginUrl="Default.aspx" requireSSL="true" timeout="30" path="Default.aspx" cookieless="UseDeviceProfile" /> </authentication> <authorization> <deny users="?"/> </authorization> <customErrors mode="RemoteOnly"/>
<sessionState mode="InProc" customProvider="DefaultSessionProvider"> <providers> <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection"/> </providers> </sessionState>
مشکلم اینجاست که موقعی که وارد میشم آئرس پیجی که کاربر وارد اون میشه میاد ولی فرم صفحه لاگین بهم نشون میده آدرسشم اینه http://localhost:19972/Default.aspx?ReturnUrl=%2fDefault2.aspx%3f ولی اصلا بالا نمیاد البته اگر علامت ؟ این کد رو به / تغییر بدم میاد ولی قابلیت برگشتو به فرم لاگین رو داره <deny users="?"/> اشکال کارم کجاست ؟؟؟؟ از اینکه وقت میزارید ومطالب این حقیر رو میخوانید صمیمانه متشکرم
قسمت زیر رو حذف کنید
این کاربرانی که لاگین نشده اند را راه نمیده
<authorization> <deny users="?"/> </authorization>
مرسی ممنون از شما
این کد رو اگه حذف کنم تو پیج کاربرا که هستم برگشت بزنم برمیگردم تو فرم لاگین چیکارکنم این اتفاق نیوفته ؟یعنی برنگرده تو فرم لاگین ؟
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)