2011-02-18 33 views
0

我正在开发的应用程序中,我成功地集成了YAF论坛,只有一个问题我面临的是,当用户登录我的应用程序并移动到YAF:论坛集成它的页面需要论坛登录,我的本届论坛的认证码是又一个论坛表单身份验证问题asp.net

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> 

任何人都可以帮我解决这个问题。

回答