Общая аутентификация, членство и Роли в приложениях DNN и ASP.net

StackOverflow https://stackoverflow.com/questions/830610

Вопрос

Вот моя ситуация. У меня есть приложение DotNetNuke. Я хочу сослаться на существующий веб-сайт ASP.net с веб-сайта DNN и решил использовать для этого IFrame DNN.

Существующее приложение ASP.net использует проверку подлинности с помощью форм для обеспечения безопасности - только авторизованные пользователи могут получить доступ к страницам. Это приложение asp.net также требует роли пользователя для авторизации на разных страницах.

Я не хочу, чтобы пользователям приходилось входить дважды, и я бы хотел, чтобы на странице asp.net использовались данные о членстве пользователя и роли из приложения DNN - для этого не требуется собственная база данных членства.

Возможно ли это? По данным сайта MSDN:

" ASP.NET поддерживает проверку подлинности на основе форм в распределенной среде как в приложениях на одном сервере, так и в веб-ферме. Если проверка подлинности с помощью форм включена для нескольких приложений ASP.NET, пользователям не требуется повторная проверка подлинности при переключении между приложениями. & Quot;

Применимо ли это к приложениям DotNetNuke, ссылающимся на приложения asp.net? Оба находятся в одном домене.

(Я пытался изменить файл config.web на странице asp.net для работы с DNN config.web, сопоставляя параметры машинных ключей и форм - но это не сработало. Я мог что-то сделать не так, но перед тем как продолжить, я хочу знать, если это вообще возможно.)

Спасибо за любую помощь!

Это было полезно?

Решение

Я не знаю, возможно ли то, о чем вы говорите, в DNN. Мы на DNN 4.0, и они делают странные вещи с таблицами членства ASP.NET, которые могут вызвать проблемы.

То, что я могу вам сказать, - это альтернативный способ (при условии, что у вас есть контроль над приложением ASP.NET). Существует проект под названием MADAM (Модули ASP.NET со смешанной аутентификацией - я немного знаю с полным набором), который может использоваться для предоставления метода, отличного от проверки подлинности форм для входа в приложение.

Что вы можете сделать, это настроить MADAM в своем приложении ASP.NET и из DNN передать учетные данные пользователя в приложение ASP.NET. Конечный результат отображается для пользователя в виде единого входа.

Если вы хотите, чтобы я что-то уточнил, дайте мне знать в комментариях.

Другие советы

На самом деле я отображаю некоторые страницы aspx в модуле iframe, представленном на странице dnn. Теперь, поскольку внутри iFrame я отображаю aspx-страницы, размещенные в другом месте, но на том же сервере. Я просто хочу аутентифицировать пользователя, вошедшего в систему dnn, перед загрузкой страницы внутри iFrame.

Не следует ли предоставлять какой-либо API, который я могу вызывать со страниц APSX, размещенных в других местах, чтобы ограничить доступ только неавторизованному пользователю.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top