Новый сайт ASP.NET с использованием DotNetNuke - PullRequest
3 голосов
/ 28 февраля 2011

В настоящее время используется DNN 5.2.x, и мы используем только 1 портал на сайте. Нам нужно сделать мобильную версию портала и исключить большую часть лишних DNN, так как информация будет только отображаться. Поэтому мы решили создать отдельный веб-сайт ASP.NET Web Forms и использовать провайдеров DNN (членство, роли и т. Д.) Для входа в систему. Однако в настоящее время у нас возникают проблемы. В частности, одно («неизвестное исключение при попытке записи в журнал»). Мы переместили большую часть файла DNN Global.asax (т.е. инструкции SimpleContainer) на новый веб-сайт и добавили необходимые разделы и ссылки web.config, однако мы получаем эту ошибку, когда пользователь входит в систему. Мы копировали по той же сети. Конфиг машинного ключа на новый сайт. Строки подключения также есть (параметры приложения и разделы строки подключения и называются SiteSqlServer).

Итак, мой вопрос: кто-нибудь создал новый сайт вокруг DNN, не используя DNN, за исключением членства? т.е. никаких модулей, никаких скинов и т. д. Просто подтвердите пользователя и получите роли.

Если у вас есть, что нужно сделать, чтобы получить DNN 5.2.x (или более позднюю версию) для входа в систему и возврата ролей, не могли бы вы опубликовать свои шаги?

Ответы [ 4 ]

0 голосов
/ 10 апреля 2011

Это маршрут, по которому мы пошли. В основном мы внедрили DNN в мобильной версии сайта. За исключением того, что мы использовали только функции членства пользователей DNN. Для этого нам пришлось использовать все те же базовые DNN-библиотеки, а также включить все функции «загрузки» в файл global.asax. Нам также приходилось при каждом запросе вставлять объект UserInfo в контекст сеанса. Я забыл имя ключа для используемого объекта UserInfo, но он используется DNN и должен быть установлен в обработчике DNN, который мы не включили. Кроме этого он работает отлично. У нас есть возможность получить все роли, в которых находится пользователь и т. Д.

0 голосов
/ 02 марта 2011

Только для проверяющих пользователей и получения ролей вы можете написать своих собственных простых провайдеров, которые используют специальные таблицы dnn в базе данных, такие как (Users, Roles, UserRoles, Profile и т. Д.). Таблица User связана со стандартными таблицами aspnet_Membership и aspnet_Users через поле Имя пользователя.

0 голосов
/ 06 марта 2011

Есть много вариантов, которые открыты для вас.

  1. Если вы действительно не хотите копаться в подробностях того, как интегрировать членство в dnn и поставщик ролей будет работать, вы можете проверить единый вход в систему dnn
  2. Другой вариант заключается в размещении приложения веб-форм в качестве подпапки на веб-сайте dnn.Таким образом, вам не нужно прилагать больших усилий, и у вас будет все хорошее, чтобы начать работу.даже вы можете напрямую преобразовать свой скин в главную страницу и повторно использовать почти все связанные с CSS и изображениями суффиксы

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

Надеюсь, это поможет.Если у вас есть дополнительные вопросы по этому поводу, я буду рад помочь.Просто напишите мне и напишите, и я постараюсь помочь вам подобраться как можно ближе, чтобы помочь вам.

Удачи

0 голосов
/ 01 марта 2011

Имя входа DNN по умолчанию основано на членстве ASP.NET .Если все, что вам действительно нужно, это функция входа в систему, гораздо проще просто использовать членство в ASP.NET напрямую, чем пытаться вырвать его из DNN.

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

...