Привет, я новичок в ria Services , и я пытаюсь изменить вход в систему из SQL в активную директорию и использовать с помощью формы входа. Я использую шаблон бизнес-приложения Silverlight в качестве базы. настроить поставщика ADmembership на веб-сайте, но как я могу заставить Silverlight использовать его?Silverlight RIA Services auth active-directory
ответ
У этого сообщения в блоге есть ответ. Silverlight with WCF Ria Services and Active Directory Roles. Спасибо Dan за этот пост!
Я использую Silverlight 4, поэтому некоторые вещи изменились с этого поста. Я также использовал шаблон бизнес-приложения для этого проекта.
Шаг 1. Это уже было установлено в шаблоне BussinessApplication в коде App.xaml.cs. Вам нужно прокомментировать строку с webContext.Authentication = new FormsAuthentication();
и раскомментировать строку webContext.Authentication = new WindowsAuthentication();
.
Шаг 2. Без изменений. Добавьте <authentication mode="Windows"/>
в web.config под элементом /configuration/system.web.
Шаг 3. RiaContex теперь является WebContext, поэтому измените его в примере. Первая строка, загружающая пользователя, RiaContext.Current.Authentication.LoadUser(this.Application_UserLoaded, null);
уже была в коде.
Шаг 4. Без изменений. добавьте <roleManager enabled="true" defaultProvider="AspNetWindowsTokenRoleProvider"/>
в web.config под элементом /configuration/system.web.
С этими небольшими изменениями приложение Silverlight подключалось к Active Directory и заполняло WebContext.Current.User.Roles
, которое я искал.