Регистрация / Вход / Членский модуль в саду

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

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

Модуль расширенной регистрации: http://extendedregistration.codeplex.com/
Модуль "Профиль сада": http://orchardprofile.codeplex.com/

2 ответа

Решение

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

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

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

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

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

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

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

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

var site = _siteService.GetSiteSettings();
var regsettings = site.As<RegistrationSettingsPart>();
regsettings.UsersCanRegister = true;
Другие вопросы по тегам