使用ASP.NET 2.0和表單身份驗證。 只是一個試驗,我配置了角色在web.config中使用網站是這樣的:.ASPXROLES成員資格角色Cookie到期
<roleManager enabled="true" cacheRolesInCookie="true" cookieName=".ASPXROLES" cookieTimeout="2"></roleManager>
我想看看當緩存的角色餅乾過期會發生什麼。 使用Fiddler,過了2分鐘後,我可以看到角色cookie的原始值已更改。
我期待在到期時ASP.NET會重新讀取數據庫中的角色信息,並使用相同的值重新填充cookie。所以我的問題是,爲什麼cookie的原始價值會在到期後發生變化?這個cookie值不是人類可讀的(base64編碼和/或加密的?),所以我不能分辨它中的信息是否相同,儘管應用程序似乎仍然工作正常。
編輯:
它看起來每個角色進行加密,並在Cookie中緩存的時間一樣,它得到一個不同的原始值。
例如如果您運行以下代碼:
RolePrincipal rp = (RolePrincipal) User;
string str = rp.ToEncryptedTicket();
Label1.Text = str;
您每次獲得不同的值。 所以這種行爲看起來很正常。
是的,在某種程度上,這將對加密有意義。這可能取決於您在web.config中使用加密密鑰時所做的操作。我將編輯我的問題並添加一些內容。 – jcolebrand 2010-11-16 00:39:24