Я начал с шаблона приложения навигации Silverlight 4 (включены службы RIA). (Как мне действительно не нравится раздутый шаблон бизнес-приложения) Я добавил службу проверки подлинности, и я могу аутентифицировать пользователей, , но хочу переопределить метод User.IsInRole.Как переопределить Silvelright 4 RIA Service AuthenticationService User.IsInRole
WebContext.Current.User.IsInRole("Guest");
Но я не могу найти места для переопределения поведения.
Ну, у меня есть пустая служба аутентификации, и в моем приложении я хочу иметь возможность называть WebContext.User.IsInRole («somerole»), и это вызовет поиск в нашей базе данных, чтобы узнать, эффективно ли этот пользователь в эту роль. У нас есть таблица «Пользователь» и таблица «Роль», а затем таблица ссылок «UserInRole» для создания отношения M <-> M. – TimothyP
Вы не сможете выполнять поиск, когда кто-то звонит IsInRole (Silverlight передает асинхронную связь). Однако вы можете выполнить поиск раньше, в GetAuthenticatedUser. В качестве альтернативы вы должны иметь возможность использовать стандартную ассоциацию RIA Services для передачи роли для пользователя клиенту. Это может быть полезно, но в большинстве случаев наилучшим подходом является просто перетаскивание этой таблицы в список строк на сервере. –