Разрабатываете пользовательский сервис авторизации с помощью Entity-Framework и Silverlight WCF RIA-Services?
Я отчаянно пытаюсь развиваться с помощью сервисов RIA, но я хочу, чтобы классы User и Role были объектами, сгенерированными разработчиком EDM.
Проблема в том, что я не могу унаследовать от UserBase
, поскольку сущность уже наследует от EntityObject
,
Я пытался следовать тому, что я прочитал, в нескольких дискуссиях по сети, и я реализовал частичный класс пользователя с помощью IUser
интерфейс, имеющий AuthenticationService
наследовать от LinqToEntitiesDomainService<MyEntities>
и реализовать IAuthentication<User>
,
Но так как я чувствую, что это тупик, так как я постоянно получаю ошибки везде и безрезультатно, я подумал, что могу задать свой вопрос тем, кто прошел через это и хочет поделиться знаниями, за которые они боролись, и сделать моя жизнь проще
Прошу вас, поделитесь только идеями, с которыми у вас есть опыт, я потратил много времени на поиски решения.
ОБНОВИТЬ:
Мне удалось его скомпилировать и запустить, но теперь у меня очень странная ситуация: после нескольких секунд запуска приложения оно исчезает (я использую Out-Of-Browser), рамка окна остается, но содержимого нет!
Вот что я сделал, чтобы сделать его компиляцией:
- Генерация сущностей модели сущностей
- Сделать
User
реализовать классIUser
- Отметить реализованное
Name
свойство, которое возвращает имя пользователя сKey
а такжеDataMember
атрибуты - атрибут
DataMember
наRoles
имущество - Затем я запускаю проект, он компилируется, но содержимое исчезает через несколько секунд, не давая мне знать источник внутреннего исключения!
Я мог бы просто сказать, что исчезновение происходит после того, как в окне вывода напечатано следующее:
'sllauncher.exe' (Silverlight): Loaded 'ProxyBuilder'
Затем, когда он исчезает, он пишет:
'sllauncher.exe' (Silverlight): Loaded 'C:\Program Files (x86)\Microsoft Silverlight\4.0.50917.0\en-US\System.Runtime.Serialization.debug.resources.dll'
'sllauncher.exe' (Silverlight): Loaded 'C:\Program Files (x86)\Microsoft Silverlight\4.0.50917.0\en-US\mscorlib.debug.resources.dll'
Ресурсы, через которые я прошел:
2 ответа
Оказывается, что Nikhil Kothari, уже проделал эту работу для нас, он включен в проект RiaEssentials.
Прочитайте этот блог для деталей.
Вам нужно будет изучить реализацию пользовательских поставщиков и поставщиков ролей, а затем подключиться к базе данных, чтобы запросить роли и информацию, связанную с аутентификацией. Позвольте мне знать, если это помогает. Посмотрите здесь http://msdn.microsoft.com/en-us/library/f1kyba5e.aspx для реализации провайдеров memberhsip
Спасибо, Аджай.