Регистрация / Вход / Членский модуль в саду
Я не могу понять, как добавить функцию регистрации / входа на сайт в 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;