Модуль регистрации / входа / членства в Orchard

#orchardcms

#orchardcms

Вопрос:

Я не могу понять, как добавить функциональность регистрации / входа на сайт в Orchard. Есть ли модуль членства или какая-либо конфигурация, которую мне нужно включить?

РЕДАКТИРОВАТЬ: я имел в виду модули, аналогичные этим, которые расширяют существующую модель пользователя с помощью функций регистрации / профиля:

Расширенный модуль регистрации: http://extendedregistration.codeplex.com /
Модуль профиля Orchard: http://orchardprofile.codeplex.com /

Ответ №1:

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

Комментарии:

1. Спасибо, Бертран, нужно ли мне создавать новые типы контента и страницу регистрации / входа? Я новичок в Orchard и только знакомлюсь с некоторыми концепциями. Если бы вы могли указать мне на какую-либо документацию о том, как реализовать или расширить функциональность членства, это было бы здорово.

2. Нет, это все. Что касается расширений, зависит от того, что вы имеете в виду, но есть несколько модулей профиля, которые могут помочь.

3. @Brendan Похоже, что его нет в 1.7 (RC). Есть идеи, где он сейчас скрывается?

4. Он все еще там в 1.7. Смотрю на него.

Ответ №2:

На панели инструментов прокрутите вниз до «Настройки» и выберите «Пользователи». Убедитесь, что установлен флажок «Пользователи могут создавать новые учетные записи на сайте», и нажмите «Сохранить». Как только это будет сделано, выйдите из системы. Затем нажмите войти и под вашим именем пользователя и паролем появится небольшой текст с синей ссылкой для регистрации.

На самом деле вам не нужна расширенная регистрация и профиль для этого. Они предназначены для добавления дополнительной информации в регистрационную форму.

Это также можно сделать программно:

 var registrationSettings = _services.WorkContext.CurrentSite.As<RegistrationSettingsPart>();
registrationSettings.UsersCanRegister = true;
 

Однако это не сработает, если вы делаете это из миграции, потому что вы не сможете использовать WorkContext.
Для миграции вы можете использовать IRepository для RegistrationSettingsPartRecord:

 RegistrationSettingsPartRecord currentSetting = _registrationSettingRepository.Table.First();
currentSetting.UsersCanRegister = true;
_registrationSettingRepository.Update(currentSetting);
 

Однако это больше не будет работать с версии 1.8 Orchard, поскольку запись больше не существует. Начиная с версии 1.8, одним из известных мне способов было бы использование ISiteService:

 var site = _siteService.GetSiteSettings();
var regsettings = site.As<RegistrationSettingsPart>();
regsettings.UsersCanRegister = true;