еще одна проблема аутентификации формы форума asp.net - PullRequest
0 голосов
/ 18 февраля 2011

Я занимаюсь разработкой приложения, в которое успешно интегрировал форум YAF. Единственная проблема, с которой я столкнулся, заключается в том, что когда пользователь входит в мое приложение и переходит на страницу, где YAF: форум интегрирован, ему снова необходимо войти в форум, мой текущий форум. код аутентификации

string usrname = txtUsername.Text;
    string password = txtPassword.Text;
    int expDate = 0;
    expDate = 10000;

    string userdata = dtUser.Rows[0].ItemArray[0].ToString() + "," + dtUser.Rows[0].ItemArray[1].ToString() + "," + dtUser.Rows[0].ItemArray[2].ToString() + "," + dtUser.Rows[0].ItemArray[3].ToString() + "," + dtUser.Rows[0].ItemArray[4].ToString() + "," + dtUser.Rows[0].ItemArray[5].ToString() + "," + dtUser.Rows[0].ItemArray[6].ToString();
    FormsAuthenticationTicket authTicket = new FormsAuthenticationTicket(1, usrname, DateTime.Now, DateTime.Now.AddMinutes(expDate), false, userdata);
    string encryptedTicket = FormsAuthentication.Encrypt(authTicket);
    //'check encryptedTicket should not be nothing''''''''''
    if (encryptedTicket == null)
    {
        FormsAuthenticationTicket authTicketWithNoPages = new FormsAuthenticationTicket(1, usrname, DateTime.Now, DateTime.Now.AddMinutes(expDate), false, userdata);
        encryptedTicket = FormsAuthentication.Encrypt(authTicketWithNoPages);
    }
    HttpCookie AuthCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encryptedTicket);
    HttpCookie AuthCookie2 = new HttpCookie("AuthCookie2");
    FormsAuthentication.SetAuthCookie(usrname, true);
    //if you comment the line below no data of user will be shown

    Response.Cookies["MM"].Value = FormsAuthentication.Encrypt(authTicket);
    Response.Cookies["MM"].Path = "/";
    //Session.Add("intUserID", userID)
    Response.Cookies["Pin"].Value = "";
    AuthCookie2["username"] = txtUsername.Text;
    //AuthCookie2("userid") = Session.Item("intUserID")
    AuthCookie2["password"] = txtPassword.Text;
    // AuthCookie2("superadmin") = Session.Item("SuperAdmin")
    AuthCookie2["userdata"] = userdata;
    //AuthCookie2("sbforms") = Session.Item("sbforms")
    AuthCookie2.Expires = System.DateTime.Now.AddMinutes(expDate);
    //AuthCookie2.Domain = ".loudclick.us"
    //AuthCookie.Domain = ".loudclick.us"
    Response.Cookies.Add(AuthCookie);
    Response.Cookies.Add(AuthCookie2);

и настройка web.config

 <authentication mode="Forms">
  <forms name=".YAFNET_Authentication" loginUrl="Private/login.aspx" protection="All" timeout="43200" cookieless="UseCookies"/>
</authentication>

Может кто-нибудь помочь мне решить эту проблему.

1 Ответ

0 голосов
/ 18 февраля 2011
...