我有一个应用程序,它将每个用户角色存储为表单身份验证票证的userData部分中的逗号分隔字符串。
我们遇到了一个用户是许多角色的一部分的情况,这些角色都有很长的名字。您可以将最多#个字符放入userData,这可能是Cookie的限制。
那么,是否有一种低成本的方法可以缩短这个字符串并在以后“再水化”它?
不幸的是,故障单的userData部分是一个字符串 - 如果它是一个对象我可以将它存储为byte []并稍后使用System.Text.Encoding.Unicode.GetString()。
我想这是一个关于能够缩短字符串,将其存储为字符串,以后再补水而不会失去其原始值的问题。
答案 0 :(得分:4)
如何使用roleId?如果设置正确,你甚至可以将它们组合在一起形成一个包含所有角色的整数。
答案 1 :(得分:3)
那么,字符串压缩?
我首先看一下System.IO.Compression
http://msdn.microsoft.com/en-us/library/system.io.compression.aspx