另一个论坛形式认证问题asp.net

时间:2011-02-18 07:12:07

标签: c# asp.net web-config forms-authentication yetanotherforum

我正在开发应用程序,其中我成功集成了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 :(得分:0)