2010-11-24 70 views
0

我在SL 4应用程序中使用RIA身份验证服务。Silverlight 4,RIA身份验证服务和角色

<roleManager enabled="true" defaultProvider="CRMRoleProvider" cacheRolesInCookie="true" cookieProtection="All" cookieSlidingExpiration="true" cookieName="MyCookieName" cookieTimeout="900"> 

然而,当我从我的SL应用程序登录,只有身份验证Cookie通过响应集:我已经配置如下我roleProvider。角色cookie不是。当我刷新浏览器时,LoadUser操作(WebContext的一部分)的响应也设置角色cookie。那么,为什么登录后我的角色cookie不会被设置?

回答

0

如果我还记得,RIA Services确实使用了自定义角色管理,以便在客户端访问它们而无需自己编写任何代码。

它允许你做这样的事情在你的应用程序SL:

WebContext.Current.User.IsInRole("RoleId") 

但是不要忘记检查任务服务器方太。

+0

其实我只需要在服务器上做。问题是角色是从Web服务中获取的,我想使用该Cookie,因此并非每次需要检查用户的角色时,我都会调用该服务。 – 2010-11-24 19:29:31