Простое пространство Websphere 7 (например, tomcat-users.xml)

Я пытаюсь перенести приложение J2EE с Tomcat на Websphere, и я не очень хорошо знаком с Websphere.

Единственная проблема, с которой я столкнулся, это авторизация (я использую базовую аутентификацию в своем web.xml). В Tomcat я использую файл tomcat-users.xml для определения своих пользователей/паролей и к каким ролям они принадлежат.

Как мне сделать это «просто» в Websphere? При развертывании EAR в Websphere мне также предлагается сопоставить мою роль из web.xml с пользователем или группой.

Должен ли я создать какое-то царство? Пользовательский реестр пользователей?

Спасибо.

ОБНОВЛЕНИЕ:

Я настроил автономный пользовательский реестр, однако не могу получить запрос на вход в систему для имени пользователя и пароля. Он отлично работает в Tomcat, а не в Websphere.

Код из web.xml

<security-constraint>
<web-resource-collection>
<web-resource-name>basic-auth security</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>HELLO_USER</role-name>
</auth-constraint>
<user-data-constraint>NONE</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
</login-config>
<security-role>
<role-name>HELLO_USER</role-name>
</security-role>

person Alexandru Luchian    schedule 19.04.2010    source источник


Ответы (3)


Безопасность приложений в WAS не включена по умолчанию.

В консоли администратора перейдите в раздел: Безопасность -> Общая безопасность и убедитесь, что установлен флажок Включить безопасность приложений.

Возможно, вам придется перезапустить сервер после сохранения изменений.

person Dan B    schedule 19.04.2010

По умолчанию WAS (я предполагаю, что вы спрашиваете о сервере приложений, а не о каком-либо другом продукте WebSphere) имеет глобальный домен с файловым реестром для пользователей и групп. Самое простое решение вашей проблемы — добавить в этот реестр нужных вам пользователей и группы и сопоставить с ними ваши роли. Вы можете управлять этим реестром из консоли администратора WAS, выбрав:
Пользователи и группы -> Управление пользователями
или
Пользователи и группы -> Управление группами

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

Более сложное решение — создать отдельный домен безопасности для вашего приложения. Это позволяет создать реестр только для вашего приложения. Реестр может быть файловым, LDAP или пользовательским реестром. См.: http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic=/com.ibm.websphere.nd.multiplatform.doc/info/ae/ae/tsec_sec_domains_config.html

person Dan B    schedule 19.04.2010
comment
@Дэн, спасибо. Моя реальная проблема заключается в том, что я не могу получить всплывающее диалоговое окно с базовой аутентификацией ни в одном из моих браузеров. - person Alexandru Luchian; 19.04.2010

См. этот мой блог Аутентификация пользователей на основе файлов в WebSphere 6, чтобы узнать, как аутентифицировать пользователей с помощью файла с именами пользователей/паролями.

person Jakub Holý    schedule 31.12.2010