2009-09-28 16 views
0

在我的自定義授權標籤中檢查用戶角色時,我將需要第三個值。像內置的東西允許這個添加額外的項目到cookie並抓住他們? Asp.net MVC C#

「filterContext.HttpContext.User.Identity.Name;」

但是這對我不起作用,因爲我將有許多用戶具有相同的名稱。所以我不認爲這會幫助我,當我有10個相同的名稱,我不得不從他們拉起GUID。

當我做我的登錄的東西,我用另一個領域告訴用戶分開。

所以我想知道我可以證明,在cookie第三場(或然而它確實它User.Identity.Name),因此它是安全與cookie進行加密,然後像做

「 filterContext.HttpContext.User.Identity.UnquieField;」

+0

你在Cookie中究竟需要什麼?第一和第二值是什麼? – Tinister 2009-09-28 18:19:02

+0

對不起,它應該是第二個(想到你登錄時,第三個將是密碼)的價值。第一個值是用戶名,第二個值只是我給同一組用戶的一些preifx。它允許我通過查看prefiex和userName來擁有許多組,所以我可以擁有重複的userName,但仍然知道他們是誰。只要前綴不同,就可以使用相同的用戶名。如果使用了前綴並使用了userName,那麼該名稱將被拒絕。 – chobo2 2009-09-28 18:31:53

回答

0

通常,當我需要將多個值存儲到cookie中時,我會創建一個輕量級類並使用Json.NET將該類序列化或反序列化爲cookie的值。因此你的cookie會是這個樣子:

用戶= {用戶名:bob123,前綴:組1}

但是,您可以格式化你喜歡的。如果Json太重,你可以像「user = bob123,group1」那樣簡單。

重要的是您的控制器將需要邏輯來解析/解析cookie的值的用戶名和前綴。

+0

如何將它添加到cookie?這是什麼User.Identity.Name?這個解析會發生在我的customAttribute中。 – chobo2 2009-09-28 19:10:15

+0

我正在使用FormsAuthentication.SetAuthCookie。所以我不確定是否需要另一種方法來做到這一點? – chobo2 2009-09-28 19:40:13

相關問題