.net:缩短字符串,将其存储为新字符串,然后再“水化”

时间:2009-09-15 14:12:45

标签: .net forms-authentication

我有一个应用程序,它将每个用户角色存储为表单身份验证票证的userData部分中的逗号分隔字符串。

我们遇到了一个用户是许多角色的一部分的情况,这些角色都有很长的名字。您可以将最多#个字符放入userData,这可能是Cookie的限制。

那么,是否有一种低成本的方法可以缩短这个字符串并在以后“再水化”它?

不幸的是,故障单的userData部分是一个字符串 - 如果它是一个对象我可以将它存储为byte []并稍后使用System.Text.Encoding.Unicode.GetString()。

我想这是一个关于能够缩短字符串,将其存储为字符串,以后再补水而不会失去其原始值的问题。

2 个答案:

答案 0 :(得分:4)

如何使用roleId?如果设置正确,你甚至可以将它们组合在一起形成一个包含所有角色的整数。

答案 1 :(得分:3)

那么,字符串压缩?

我首先看一下System.IO.Compression

http://msdn.microsoft.com/en-us/library/system.io.compression.aspx