以下是引用铲铲在2007-6-16 23:35:39的发言:
前面已经说过,实际上这里是做过简化的。原理很简单,用户拥有的角色名称可以是一个或者多个,他们实际上是以一个字符串数组的形式表示,这个数组有多少个字符串元素,那么用户就有多少个角色。
即使是使用数据库存储,那没有关系。我们不关心你在数据库中如何存储和实现,只是在这个地方,你能够构造适当的逻辑,为用户持有的角色表现成字符串数组就可以了。
只有Context.User属性是可写的,其他User属性只可以获取而不能设置。实际上这是在一个HttpApplication的Context中实现Iprincipal接口的对象,它会传播到稍后构造的Page对象对象和Request对象中。
至于“Role Update一下”我不太清楚你的表述是何含义。
我的意思是你给Context.User添加(或这修改)了权限,但是没有把这个权限保存起来,你想得到Context.User的权限的时候能得到你添加(或这修改过的)权限吗?(CacheRolesInCookie==false)