如果我在machine.config的machineKey部分中將DecryptionKey和ValidationKey設置爲AutoGenerate,那麼我如何從.NET中查找已經創建的實際生成的密鑰?如何訪問asp.net中的自動生成驗證和解密密鑰?
我們希望使用相同的密鑰來加密和驗證我們自己的cookie。
感激地收到任何線索/提示。
如果我在machine.config的machineKey部分中將DecryptionKey和ValidationKey設置爲AutoGenerate,那麼我如何從.NET中查找已經創建的實際生成的密鑰?如何訪問asp.net中的自動生成驗證和解密密鑰?
我們希望使用相同的密鑰來加密和驗證我們自己的cookie。
感激地收到任何線索/提示。
我知道這並不回答你的問題,但加密和驗證你自己的Cookie,你不需要知道DecryptionKey和ValidationKey的實際值。只需使用Encrypt和Decrypt方法:
var ticket = new FormsAuthenticationTicket(
1,
"username",
DateTime.Now,
DateTime.Now.AddMinutes(10),
false,
"some user data");
string encryptedTicked = FormsAuthentication.Encrypt(ticket);
// TODO: use the encrypted ticket in a cookie
使用自動生成只會導致你悲傷,你,或者說你的用戶,將太經常遇到例外。在數據加密和解密時間之間,密鑰可以更改(通過應用程序池回收重新啓動應用程序,觸及Web.config等)。
感謝 - 它的一個想法,將意味着一些額外的工作(因爲我們跨越到多個餅乾),但它可能是可能的 – jamie 2009-11-18 18:05:59