Простая область Websphere 7 (например, tomcat-users.xml) - PullRequest
3 голосов
/ 19 апреля 2010

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

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

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

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

Спасибо.

UPDATE:

Я настроил автономный настраиваемый реестр, однако не могу получить приглашение для входа в систему для имени пользователя / пароля. Он прекрасно работает в 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>

Ответы [ 3 ]

5 голосов
/ 19 апреля 2010

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

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

Может потребоваться перезагрузить сервер после сохранения изменений.

4 голосов
/ 19 апреля 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

0 голосов
/ 31 декабря 2010

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

...