У меня возникли проблемы с выяснением того, имеет ли DNN возможность перенаправлять пользователя, который проверяется на URL-адрес на другом портале на том же сайте.DNN Login - перенаправление портала
Например, скажем, у меня есть PortalA и PortalB, а User1 имеет доступ только к PortalB. Тем не менее, я хочу, чтобы пользователь попытался использовать страницу входа для PortalA, а также некоторую логику, чтобы определить, что пользователь должен быть направлен на PortalB во время или после процесса входа в систему. Итак, если User1 посещает сайт PortalA.com и пытается войти в систему, я хочу, чтобы User1 в конечном итоге был проверен и зарегистрирован в PortalB, и приземлился на домашней странице PortalB.
Просмотрев объект PortalSettings, я попробовал PortalId и PortalName, которые входят в методы UserController.ValidateUser и UserController.UserLogin, но это не помогает при перенаправлении на два портала. Я также рассмотрел измененную переменную HomeTabId, которая используется для получения RedirectURL, и кажется, что изменение этого идентификатора, которое для домашней страницы не работает, поскольку HomeTabId находится за пределами текущего портала Globals.NavigateURL () не дает мне URL-адреса для правильного портала, к которому я хочу перенаправляться.
Я также попытался пропустить переход к событию OnUserAuthenticated, когда валидация является успешной для данного портала, а затем вызывает метод UserLogin, затем пытается перенаправить с помощью Response.Redirect (Globals.NavigateURL()) с правильным URL-адресом , но это, похоже, не работает (я застрял на той же странице).
Кроме того, необходимо иметь возможность определять на странице входа PortalA или PortalB, если пользователь имеет доступ к обоим порталам. Если у них есть доступ к обоим порталам, пользователь сможет выбрать (из списка, выпадающего списка и т. Д.), К какому Порталу они хотят идти. После выбора пользователь может продолжить работу с PortalA или PortalB с любой страницы входа PortalA или PortalB по мере необходимости. Я полагаю, что если прежние требования могут быть решены, то это должно быть легко разрешено.
На всякий случай существуют бизнес-правила, которые определяют, что нам нужны отдельные порталы. Каждый портал имеет специфическую функциональность портала, механизмы бизнес-логики и навигационные меню.
Я действительно посмотрел: и ответ Криса Х, но предоставленного ответа недостаточно для решения моей проблемы (мы используем редакцию DNN Community, и у меня уже есть пользователи, настроенные для к какому порталу у них есть доступ).
EDIT: Эти порталы находятся в одном домене. Таким образом, он будет выглядеть как portal1.mydomain.com и portal2.mydomain.com.
EDIT2: В настоящее время я думаю о том, чтобы сделать перенаправление портала до попытки проверки и регистрации пользователя. Однако мне нужно будет выяснить, как переносить конфиденциальную регистрационную информацию пользователя через два портала - I Не уверен, что попытка временно переносить данные в сеансе будет работать, поскольку они находятся на двух порталах. Я уже заметил, что если я войду в систему с User1 в PortalA, а затем изменим URL-адрес на PortalB, мне придется снова войти в систему, даже если User1 имеет доступ к обоим порталам. Будет ли попытка перенаправления портала до того, как шаг входа будет разумным, или это должно быть сделано после факта?
Существуют ли сайты на совершенно разных доменах (т. Е. P1.com и p2.com)? – DavidG
Они находятся в одном домене. Это будет что-то вроде portal1.mydomain.com и portal2.mydomain.com. – py7133