2010-08-26 4 views

ответ

8

Вы добавили j2ee в качестве тега, поэтому я собираюсь предположить, что это вопрос Java. Вы можете реализовать единый вход в коде с помощью ... ну ... писать код. Используйте встроенную аутентификацию j2ee или сворачивайте свои собственные.

Смотрите этот ответ для возможности: Single sign-on in Java EE

Основная стратегия придумать какой-то общей стратегии печенья, что все веб-сайты могут читать. Например, если вы разрабатываете единое решение для входа на xyz.company.com и abc.company.com, то доставьте куки-файл сеанса какого-либо рода с помощью пути company.com. Оба сайта могут получить доступ к этой сессии и посмотреть «О, этот парень уже зарегистрировался».

Существуют также стратегии для веб-единого входа, когда вы проверяете пользователей на совершенно разные сайты, такие как MySiteA.com и MySiteB.com.

Для предотвращения повторных атак вам потребуется нести общий хранилище сеансов, чтобы ваши веб-страницы могли проверять этот файл cookie на каждом запросе страницы. Вы не отметили этот .NET, но в .NET это означает, что вы должны перенести состояние сеанса из рабочего процесса IIS, который не является стандартным, когда вы выбираете File> New Project ... для веб-приложений.

Ваше приложение должно будет защищать каждый входящий веб-запрос, потому что теперь вы доверяете тому, что cookie является «билетом» или «доказательством входа». Вам понадобится стратегия для деавторизации этого файла cookie (при выходе из системы или таймауте или другом).

Большинство веб-фреймворков, включая J2EE, .NET или серверы приложений, такие как WebSphere, имеют решения для этого. Вам придется исследовать их и ознакомиться с методами, которые вам нужны.

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

Я категорически не рекомендую этот продукт. Я говорю, что вы задали очень большой вопрос и что вы можете использовать java для решения вашей проблемы или покупки сторонних продуктов, которые пытаются сделать то же самое.

Это ОГРОМНАЯ тема, о которой я НЕ пытался подробно остановиться. Это не достаточный ответ. Дело в том, что вам нужно будет выбрать больше частей своей архитектуры, прежде чем вы сможете получить более конкретную помощь и рекомендации.

Смежные вопросы