Гость
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Создать нового пользователя через Silverlight и назначить роль / 10 сообщений из 10, страница 1 из 1
24.04.2012, 16:37
    #37768683
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
Здравствуйте. Я создал обычное Silverlight приложение и использую ASP.NET аутентификацию на основе форм, ролей, профилей, применяю в качестве услуги WCF services предоставляемые System.Web.ApplicationServices имена. Я хочу сделать, чтобы была возможность создавать новых пользователей и назначить роли в моем приложении, а не с помощью инструмента конфигурации ASP.NET. Я посмотрел в System.Web.ApplicationServices пространстве имен, но не смогли найти никаких методов для создания новых пользователей и назначения роли. Все методы, представленные в этом пространстве имен только для доступа к учетных данных и их проверки, но не для создания новых пользователей.

Я буду очень признателен, если кто-то может помочь мне!
...
Рейтинг: 0 / 0
24.04.2012, 17:40
    #37768903
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
однозначно, нужна другая версия вопроса, где все русским языком изложено.
...
Рейтинг: 0 / 0
24.04.2012, 18:08
    #37769000
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
В двух словах:
я не магу сделать регистрацию пользователей в Silverlight приложении через WCF services.
В ASP.Net есть прикладной сервис помогающий регистрировать новых пользователей и работать с ними: назначать права, роли, ауетентифицировать и авторизоваться. (то что я понимаю под сервисом я выложил на картинке снизу)

Вход и выход пользователей в Silverlight приложение я смог реализовать с помощью некого API ASP.NET проверки аутентификации, но как регистрировать я не знаю и информацию найти не магу
...
Рейтинг: 0 / 0
24.04.2012, 18:14
    #37769020
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
1- я создал Silverlight Aplication
2 - создал WCF Servisec и в файле .svc указал следующее
Код: xml
1.
<%@ ServiceHost Language="C#" Service="System.Web.ApplicationServices.AuthenticationService" %>



3 - в Web.config

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
<configuration>
  <system.web>
    <compilation debug="true" targetFramework="4.0" />
    <authentication mode="Forms" />
    <membership>
      <providers>
        <clear/>
        <add name="AspNetSqlMembershipProvider" type="System.Web.Security.SqlMembershipProvider" connectionStringName="ApplicationServices"
             enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false"
             maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10"
             applicationName="/" />
      </providers>
    </membership>
    <roleManager enabled="true">
      <providers>
        <clear />
        <add connectionStringName="ApplicationServices" applicationName="/"
          name="AspNetSqlRoleProvider" type="System.Web.Security.SqlRoleProvider" />
        <add applicationName="/" name="AspNetWindowsTokenRoleProvider"
          type="System.Web.Security.WindowsTokenRoleProvider" />
      </providers>
    </roleManager>
    <profile>
      <providers>
        <clear/>
        <add name="AspNetSqlProfileProvider" type="System.Web.Profile.SqlProfileProvider" connectionStringName="ApplicationServices" applicationName="/"/>
      </providers>
      <properties>
        <add name="FriendlyName"/>
      </properties>
    </profile>
  </system.web>
  <connectionStrings>
    <add name="ApplicationServices"
        connectionString="Data Source=WIN-SDB;Initial Catalog=Development;Persist Security Info=True;User ID=sa;Password=1;" providerName="System.Data.SqlClient" />
  </connectionStrings>
  <system.serviceModel>
    <services>
    <service name="System.Web.ApplicationServices.AuthenticationService"
               behaviorConfiguration="AuthenticationServiceTypeBehaviors">
      <endpoint contract="System.Web.ApplicationServices.AuthenticationService"
                binding="basicHttpBinding" bindingConfiguration="userHttp"
                bindingNamespace="http://asp.net/ApplicationServices/v200"/>
    </service>
    </services>
    <bindings>
      <basicHttpBinding>
        <binding name="userHttp">
          <!-- this is for demo only. Https/Transport security is recommended -->
          <security mode="None"/>
        </binding>
      </basicHttpBinding>
    </bindings>
    <behaviors>
      <serviceBehaviors>
        <behavior name="AuthenticationServiceTypeBehaviors">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
        <behavior name="">
          <serviceMetadata httpGetEnabled="true" />
          <serviceDebug includeExceptionDetailInFaults="false" />
        </behavior>
      </serviceBehaviors>
    </behaviors>
    <!-- this is needed since this service is only supported with HTTP protocol -->
    <serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true"/>
  </system.serviceModel>
  <system.web.extensions>
    <scripting>
      <webServices>
        <authenticationService enabled="true" requireSSL="false"/>
      </webServices>
    </scripting>
  </system.web.extensions>
  
</configuration>





4 - далее в MainPage.xaml.cs


Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
private void employeeLogIn_Click(object sender, RoutedEventArgs e)
		{
			AuthenticationServiceClient client = new AuthenticationServiceClient();
            client.LoginAsync("employee", "employee!", "", true, "employee");
            client.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(client_LoginCompleted);
		}

		private void managerLogIn_Click(object sender, RoutedEventArgs e)
		{
			AuthenticationServiceClient client = new AuthenticationServiceClient();
            client.LoginCompleted += new EventHandler<LoginCompletedEventArgs>(client_LoginCompleted);
            client.LoginAsync("manager", "manager!", "", true, "manager");
		}

		void client_LoginCompleted(object sender, LoginCompletedEventArgs e)
         {
           if (e.Error != null) statusText.Text = e.Error.ToString();
           else statusText.Text = e.UserState + " logged In result:" + e.Result;
         }



тем самым я проверяю есть ли такой пользователь в БД или нет

5 - БД была изменена с помощью aspnet_regsql.exe

6 - Зарегистрировать пользователей я смог только через ASP.Net прикладной сервис который находится в Visual Studio -> Project -> ASP.NET Configuration (это появиться если выделить .aspx файл)
...
Рейтинг: 0 / 0
24.04.2012, 18:29
    #37769060
buser
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
yardie, не совсем понял в чем беда/ что нужно... попробуйте разобраться в этом примере
...
Рейтинг: 0 / 0
24.04.2012, 18:44
    #37769103
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
ух, ну я уже весь код выложил, даже и не знаю как по другому объяснить...)))
Мне нужно реализовать регистрацию пользователей на Silverlight портале, я не знаю как это сделать!
а ссылка Ваша не работает)))
если можете в чём либо помочь, то я могу дать Вам свой скайп и попробую тет-а-тет объяснить ещё разок)))
я уже всё что можно перерыл, ни где нет материала))))
...
Рейтинг: 0 / 0
25.04.2012, 11:14
    #37770047
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
yardie,

http://msdn.microsoft.com/ru-ru/library/system.web.security.sqlmembershipprovider.aspx
если посмотреть по этой ссылке, то есть метод CreateUser.

Поэтому, тебе нужно метод в WCF сделать, который работает с объектом AspNetSqlMembershipProvider
http://msdn.microsoft.com/en-us/library/ff648345.aspx тут более общая информация о том, как работать с провайдерами обеспечивающими аунтефикацию и авторизацию.
...
Рейтинг: 0 / 0
25.04.2012, 11:38
    #37770131
AlexeiK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
yardie,

да вот еще .

http://msdn.microsoft.com/ru-ru/library/system.web.applicationservices.authenticationservice.aspx ты используешь вот этот класс, чтобы проверять логины из Silverlight приложения, которые обслуживает тебе asp.net посредством sqlmembership.
AuthenticationServiceClient Этот класс, есть обертка, для этих методов.


То, что ты сделал в своем коде описано тут -! .
Собственно все эти встроенные в .net 4 классы, не позволяют тебе создавать юзеров.

Тут -! есть ответ, что не все методы MemberShip класса, предоставлены через Authenticationservice класс.

Поэтому, тебе надо унаследоваться от AuthenticationBase , и создать свой класс по типу Authenticationservice в который будут встроены нужные тебе методы.

Но вообще, создал бы сам, таблицы, методы для аунтефикации. Ведь это простая логика.
А то ты хотел сэкономить, но вышло наоборот.
...
Рейтинг: 0 / 0
25.04.2012, 12:49
    #37770331
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
AlexeiK,

Спасибо большое, сейчас буду разбираться со всем этим))))
Да действительно намудрил что-то я )))))
А вообще я согласен по поводу создать самому таблицы, методы для аунтефикации, так лучше пойму сей процесс)))
...
Рейтинг: 0 / 0
25.04.2012, 13:42
    #37770467
yardie
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Создать нового пользователя через Silverlight и назначить роль
http://www.silverlightshow.net/items/Connecting-to-the-SqlMembership-model-through-Silverlight-and-WCF.aspx

создание пользователя и использование SqlMembership модели с помощью Silverlight и WCF!!!
может кому пригодится)))
...
Рейтинг: 0 / 0
Форумы / WCF, Web Services, Remoting [игнор отключен] [закрыт для гостей] / Создать нового пользователя через Silverlight и назначить роль / 10 сообщений из 10, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]