2009-05-18 46 views

回答

2

您應該檢查是否沒有當前用戶,然後自動創建一個新的用戶帳戶並在幕後登錄。如果您使用Cookie(並假設用戶啓用了Cookie),則此「匿名用戶」的後續訪問仍將映射到您的用戶存儲庫中的相同帳戶,這對於跟蹤活動很有用。

您可以自動將用戶放入「已註冊」和「自動/匿名」組。這使您的代碼很容易辨別如何行爲 - 例如,根據當前用戶是否爲「匿名」組的成員來決定是否顯示「登錄」或「我的帳戶」鏈接。如果/當用戶決定這樣做時,它還可以更容易地將活動歷史記錄遷移到註冊帳戶。

+1

你的意思是這裏的匿名用戶與「瀏覽者」不同嗎? (即像堆棧溢出未註冊)還是你的意思是任何訪問該站點的人都應該在幕後簽名?沒有太多? – zsharp 2009-05-18 17:10:43

+0

@zsharp訪問該網站的任何人都應在幕後簽名。這聽起來可能聽起來很像,但它實際上簡化了一些事情,因爲所有用戶都被視爲一樣 - 就像登錄用戶一樣。唯一的區別是登錄機制,它可以被抽象爲兩個提供者 - 用戶名/密碼登錄和自動的不可見登錄。 – 2009-05-18 18:28:43

4

在ASP.NET中的成員,你可以調用下面的函數來檢查用戶是否被記錄在/認證/匿名或不...

User.Identity.IsAuthenticated() 
0

如果你是一個網頁上,該User.Identity.IsAuthenticated()屬性會給你一個布爾值。如果您不在一個頁面上(即,想要檢入課程方法),則需要導入System.Web.HttpContext命名空間。