2009-02-17 33 views

回答

4

是的!

System.Web.Security.AnonymousIdentificationModule.ClearAnonymousIdentifier() 

見本useful article:(遷移匿名用戶設置)

另外Best way to Migrate Anonymous Profile計算器問題。

+0

注意:據我所知,兩者可以共存就好 - 所以你可能不想刪除它。不要僅僅因爲你已經登錄了某人就需要刪除它。你甚至可以鏈接後端的兩個配置文件 - 沒有人可以從客戶端來告訴它,但它可能對跟蹤用戶很有用。 – 2009-12-08 23:24:30

-1

我不知道這是否是你問什麼,而是你可以清除發送到瀏覽器的所有Cookie如下:

Response.Cookies.Clear(); 

如果您有身份驗證問題,您可能需要澄清的問題。

0

最初我遇到了「AnonymousIdentificationModule.ClearAnonymousIdentifier()」的問題,錯誤是「ClearAnonymousIdentifier在功能被禁用或用戶是匿名時不支持」。

只有當用戶itsef是匿名用戶時嘗試清除匿名標識符時纔會出現此問題。 意思是匿名用戶不能清除其他匿名用戶的cookie。

因爲當用戶通過驗證的情況下這樣做,地方的代碼(登錄的用戶),如:

if(Request.IsAuthenticated) 
{ 
    AnonymousIdentificationModule.ClearAnonymousIdentifier(); 
} 

這將這樣的伎倆。

0

我正在使用MVC4,並且在我的場景中,我希望能夠刪除匿名cookie,以便即使用戶從不登錄也能自動生成一個新的。(因此,測試人員不必每次他們想要以新用戶的身份回到網站時刪除他們的Cookie。)AnonymousIdentificationModule.ClearAnonymousIdentifier在這種情況下不起作用,因爲您只能在用戶通過身份驗證時調用該cookie。 (看起來像該函數的一個可選參數將會很好。)或者,您必須在過去重寫過期日期的匿名cookie。

[HttpGet] 
    [AllowAnonymous] 
    public ActionResult ClearMyCookie() 
    { 
     HttpCookie cookie = new HttpCookie(".ASPXANONYMOUS"); 
     cookie.Expires = DateTime.Now.AddDays(-10); 
     Response.Cookies.Add(cookie); 
     // Make sure to also do Session.Clear() if you're using session. 
     return RedirectToAction("index", "home"); 
    } 

更改「.ASPXANONYMOUS」你的cookie的名字:我通過進行基本操作方法,一個匿名用戶可以去,只要他們想,並重新啓動作爲一個新的匿名用戶這樣做。我使用上面的默認匿名名稱。