2013-02-15 48 views
1

我有一個ASP.Net登錄的Silverlight不容訪問FormsAuthentication

 

    if (Membership.ValidateUser("User", "Password")) 
    { 
     FormsAuthentication.SetAuthCookie("Testuser", false); 
     Response.Redirect("TestingAuthNewTestPage.aspx"); 
    } 

,這是工作的罰款。我到了silverlight頁面。

那麼如果我想註銷我嘗試使用FormsAuthentication.SignOut(),但在我的Silverlight應用程序中,我不能訪問FormsAuthentication?

它的工作的唯一方法是,如果我稱之爲:

 

    WebContext.Current.Authentication.Logout(); 

那是退出的好辦法?或者我如何訪問FormsAuthentication類?

謝謝

回答

0

你也應該清除身份驗證cookie。

FormsAuthentication.SignOut(); 
Session.Abandon(); //Clears Sessions 

//This modification will Clear cookies 
HttpCookie cookie1 = new HttpCookie(FormsAuthentication.FormsCookieName, ""); 
cookie1.Expires = DateTime.Now.AddYears(-1); 
Response.Cookies.Add(cookie1); 

//Redirect to login page 
FormsAuthentication.RedirectToLoginPage(); 
+0

問題是,在我的silverlight代碼中,我不能訪問FormsAuthentication類。這是因爲我使用ASP登錄,因此沒有身份驗證域服務? – Jakobbbb 2013-02-15 06:18:15

+0

ASP登錄確實有認證服務。但會出現一些小問題,例如添加名稱空間:P檢查您是否使用安全名稱空間導入:) – Sakthivel 2013-02-15 06:23:11

+0

我嘗試添加安全名稱空間,但仍然表示無法解析符號「SignOut」。是因爲它是一個silverlight項目而不是一個asp項目? – Jakobbbb 2013-02-15 06:34:17