ASP.NET Forms身份验证的票据中的UserData信息怎么更新

ASP.NET Forms身份验证的票据中的UserData信息如何更新?
发帖之前特地在CSDN上搜索了Forms身份验证的相关帖子和博客,但讲述的都是如何使用Forms身份验证实现登录验证,与我的问题基本无关,所以只好发帖求助了。

用户登录后信息存储方式描述:
第一部分,用户名,姓名,所属角色,公司部门等,这些基本类型的数据,都存在票据的UserData中(以string化方式)。
第二部分,能访问的菜单、按钮权限、能管理的组织结构范围,是集合,存在session中。

实例描述:
你是用户A,我是管理员。
你已经登录了,我这边把你这个用户的所属角色给做了调整。

那么,当你“下次任何操作”时是否应该根据“票据中UserData的RoleID 与 数据库中该用户的RoleID不一致”做为判定依据而去更新“UserData中的信息,和 存在session中的各种集合信息”。

如果这种考虑没必要,那我就结贴了。。
如果这种考虑是有必要的,那么我的问题是,票据FormsAuthenticationTicket中的UserData是只读的,我没法用新的RoleID去更新UserData。

请问怎么解决,谢谢~


------解决方案--------------------
不知道具体怎么做
不过你可以尝试一下
var temp=FormsAuthenticationTicket;///当前票据
重新new FormsAuthenticationTicket(。。。参数。。。) 吧之前的数据取出来,重新new,将userdata重新放进去试试