YetAnotherForum
Добро пожаловать, Гость Поиск | Активные темы | Участники | Вход | Регистрация

Membership Интеграция
divined
#1 Оставлено : 10 июня 2010 г. 23:07:14(UTC)
Ранг: Newbie

Группы: Registered
Зарегистрирован: 10.06.2010(UTC)
Сообщений: 4

Сказал(а) «Спасибо»: 0 раз
Поблагодарили: 0 раз в 0 постах
Доброго времени суток!

Извените конечно, но не могу найти нормального мануала по сабжу.
http://wiki.yetanotherfo...bershipIntegration.ashx

Здесь просто куски кода и непонятно что с ними делать. Причем в указанных местах в исходниках
Этого кода обнаружить не удается =) И непонятно что и как с ним делать.


Можно пошаговое руководство как YAF привязать к своему ASPNETDB.
Внутренности ASPNETDB перенесены на MSSQL 2008 Server Провайдера.
Регистрация и авторизация на существуещем сайте сделана по стандартной
схеме ASP.NET/
v0id
#2 Оставлено : 18 июля 2010 г. 15:16:38(UTC)
Ранг: Newbie

Группы: Registered
Зарегистрирован: 18.07.2010(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 0 раз
Поблагодарили: 1 раз в 1 постах

1. Нужно сделать, чтобы параметры authentication, membership и roleManager совпадали. Если форум находится в дочерней виртуальной директории основного сайта, то достаточно удалить соответствующие ветки конфига форума, тогда форум унаследует настройки основного сайта.

2. Нужно изменить profile следующим образом:

<profile enabled="true" defaultProvider="SqlProfileProvider" inherits="YAF.Classes.Utils.YafUserProfile">
    <providers>
        <clear/>
        <add name="SqlProfileProvider"
        type="System.Web.Profile.SqlProfileProvider"
        connectionStringName="aspnetdb"
        applicationName="AppName"/>
    </providers>
</profile>

Указав имя строки подключения основного приложения в connectionStringName, а также нужное имя приложения в applicationName. Смысл простой: мы говорим, что нужно использовать стандартный провайдер SqlProfileProvider, данные брать из базы данных connectionStringName, а сами профайлы должны быть типа YafUserProfile.

3. Нужно использовать один machineKey на оба приложения и он не должен автоматически генерируемым. 

4. Разобраться с ролями используемыми в приложении и в форуме.

1 пользователь поблагодарил v0id за этот пост.
Admin оставлено 28.07.2010(UTC)
alex79
#3 Оставлено : 28 июля 2010 г. 14:18:15(UTC)
Ранг: Newbie

Группы: Registered
Зарегистрирован: 17.02.2009(UTC)
Сообщений: 8
Откуда: Russia

Сказал(а) «Спасибо»: 0 раз
Поблагодарили: 0 раз в 0 постах

Выполнил все инструкции. При регистрации на сайте запись о юзере добавляется в таблицу форума. Однако когда переходишь по ссылке "Участники" То вот такая ошибка.

Line 42: </td>
Line 43: <td>
Line 44: <%# GetStringSafely(YafUserProfile.GetProfile(DataBinder.Eval(Container.DataItem,"Name").ToString()).Location) %>
Line 45: </td>
Line 46: </tr>

Кстати также нельзя посмотреть профиль пользователей находящихся онлайн.

Выручайте.

alex79
#4 Оставлено : 28 июля 2010 г. 14:21:56(UTC)
Ранг: Newbie

Группы: Registered
Зарегистрирован: 17.02.2009(UTC)
Сообщений: 8
Откуда: Russia

Сказал(а) «Спасибо»: 0 раз
Поблагодарили: 0 раз в 0 постах

Кстати и админка не работает

Line 33:         </td>
Line 34:         <td>
Line 35:           <%# YafBBCode.EncodeHTML( YafUserProfile.GetProfile( Eval("UserName").ToString() ).Location ) %>
Line 36:         </td>
Line 37:          <td>

Exception Details: System.ArgumentNullException: Value cannot be null.

v0id
#5 Оставлено : 28 июля 2010 г. 14:54:09(UTC)
Ранг: Newbie

Группы: Registered
Зарегистрирован: 18.07.2010(UTC)
Сообщений: 3

Сказал(а) «Спасибо»: 0 раз
Поблагодарили: 1 раз в 1 постах

По всей видимости GetProfile вернул null. Включай debug и ищи причину.

Admin
#6 Оставлено : 28 июля 2010 г. 19:16:14(UTC)
Ранг: Administration

Группы: Administrators
Зарегистрирован: 12.09.2008(UTC)
Сообщений: 194

Сказал(а) «Спасибо»: 1 раз
Поблагодарили: 1 раз в 1 постах

Ошибка такая, как будто инхерит не установлен, хотя в предлагаемом решении оно есть. Проверьте?

alex79
#7 Оставлено : 30 июля 2010 г. 15:59:42(UTC)
Ранг: Newbie

Группы: Registered
Зарегистрирован: 17.02.2009(UTC)
Сообщений: 8
Откуда: Russia

Сказал(а) «Спасибо»: 0 раз
Поблагодарили: 0 раз в 0 постах

Вот нашел решение. Заморские друзья помогли.

<profile defaultProvider="SqlServerProfileProvider" inherits="YAF.Classes.Utils.YafUserProfile">
      <providers>
        <clear/>
        <add name="SqlServerProfileProvider" connectionStringName="LocalSqlServer" type="System.Web.Profile.SqlProfileProvider"
        applicationName="YetAnotherForum" description=""/>
      </providers>
      <properties>
        <!-- Common Properties-->
        <add name="FirstName" type="System.String"/>
        <add name="LastName" type="System.String"/>
        <add name="MasterFilePreference" type="System.String"/>
        <add name="ThemePreference" type="System.String"/>
        <!--<add name="LastExport" type="System.Datetime"/>-->
        <add name="EventColor" type="System.String" />
      </properties>
    </profile>

Кто сталкнется с такой проблемой обратите внимание на <!-- Common Properties--> . Пока их не прописал не оживил!!!

Пользователи, просматривающие эту тему
Guest
Быстрый переход  
Вы не можете создавать новые темы в этом форуме.
Вы не можете отвечать в этом форуме.
Вы не можете удалять Ваши сообщения в этом форуме.
Вы не можете редактировать Ваши сообщения в этом форуме.
Вы не можете создавать опросы в этом форуме.
Вы не можете голосовать в этом форуме.

SoClean Theme By Jaben Cargman (Tiny Gecko)
Форум YAF | YAF © 2003-2010, Yet Another Forum.NET
Страница сгенерирована за 0,192 секунды.

ASP.NET Forum - Yet Another Forum (YAF). Русифицированный движек форума на ASP (asp forum).