مرجع تخصصی برنامه نویسان

انجمن تخصصی برنامه نویسان فارسی زبان

کاربر سایت

jaafar

عضویت از 1393/06/25

فرم لاگین asp.net c#

  • سه شنبه 23 تیر 1394
  • 12:59
تشکر میکنم

سلام و عرض ادب خدمت اساتید عزیز

تو فرم لاگین پروژه م این کدارو نوشتم

  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="?"/>

اشکال کارم کجاست ؟؟؟؟

از اینکه وقت میزارید ومطالب این حقیر رو میخوانید صمیمانه متشکرم

 

 

 

پاسخ های این پرسش

تعداد پاسخ ها : 9 پاسخ
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 23 تیر 1394
  • 13:07

برای درج کد از کلید code در ادیتور استفاده کنید

کدهاتون قابل بررسی نیست

کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:10
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!";
        }
    }
 
کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:12

کد های بالا مربوط به فرم لاگین اینهاهم پیج صفحه ای که کاربر وارد شده

 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.";
        }

 

 
کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:13
کد های وب کانفیگ 
<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"/>
 
کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:13
 <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>
 
کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:14
مشکلم اینجاست که موقعی که وارد میشم آئرس پیجی که کاربر وارد اون میشه میاد ولی فرم صفحه لاگین بهم نشون میده

آدرسشم اینه

http://localhost:19972/Default.aspx?ReturnUrl=%2fDefault2.aspx%3f

ولی اصلا بالا نمیاد

البته اگر علامت ؟ این کد رو به / تغییر بدم میاد ولی قابلیت برگشتو به فرم لاگین رو داره

<deny users="?"/>

اشکال کارم کجاست ؟؟؟؟

از اینکه وقت میزارید ومطالب این حقیر رو میخوانید صمیمانه متشکرم
 
کاربر سایت

ایمان مدائنی

عضویت از 1392/01/20

  • سه شنبه 23 تیر 1394
  • 13:26

قسمت زیر رو حذف کنید

این کاربرانی که لاگین نشده اند را راه نمیده

  <authorization>
      <deny users="?"/>
    </authorization>

 

کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:27

مرسی ممنون از شما

 
کاربر سایت

jaafar

عضویت از 1393/06/25

  • سه شنبه 23 تیر 1394
  • 13:31

این کد رو اگه حذف کنم تو پیج کاربرا که هستم برگشت بزنم برمیگردم تو فرم لاگین چیکارکنم این اتفاق نیوفته ؟یعنی برنگرده تو فرم لاگین ؟

 
کاربرانی که از این پست تشکر کرده اند

هیچ کاربری تا کنون از این پست تشکر نکرده است

اگر نیاز به یک مشاور در زمینه طراحی سایت ، برنامه نویسی و بازاریابی الکترونیکی دارید

با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)