2010-11-24 2 views
0

Я использую службу аутентификации RIA в своем приложении SL 4. Я настроил мой RoleProvider следующим образом:Silverlight 4, служба аутентификации RIA и роли

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

Однако, когда я войти с моим SL приложения, только куки аутентификации устанавливаются с помощью ответа. Роли cookie нет. Когда я обновляю браузер, ответ операции LoadUser (часть WebContext) также устанавливает cookie роли. Итак, почему мои роли не были созданы после входа в систему?

ответ

0

Если я хорошо помню, службы RIA используют собственное управление ролями, чтобы сделать их доступными на стороне клиента, не написав код самостоятельно.

Это позволяет сделать что-то подобное в вашей SL App:

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

Однако не забудьте проверить на стороне сервера роль тоже.

+0

На самом деле мне нужно сделать это только на сервере. Проблема в том, что роли берутся из веб-службы, и я хочу использовать этот файл cookie, поэтому не каждый раз, когда мне нужно проверять роли пользователя, я называю эту услугу. – 2010-11-24 19:29:31

Смежные вопросы