3

J'essaie de porter une application J2EE de Tomcat à Websphere et je ne connais pas très bien Websphere.Websphere 7 royaume simple (comme tomcat-users.xml)

Le seul problème que j'ai est autorisation (j'utilise l'authentification de base dans mon web.xml). Dans Tomcat, j'utilise le fichier tomcat-users.xml pour définir mes utilisateurs/mots de passe et les rôles auxquels ils appartiennent. Comment faire cela "simplement" dans Websphere? Lorsque je déploie l'EAR sur Websphere, il me demande également de mapper mon rôle de web.xml à un utilisateur ou un groupe.

Dois-je configurer un domaine? Registre d'utilisateurs personnalisé?

Merci.

MISE À JOUR:

J'ai configuré un registre personnalisé autonome, mais je ne peux pas obtenir un journal dans l'invite pour le nom d'utilisateur/mot de passe. Cela fonctionne très bien dans Tomcat, et pas dans Websphere.

code de 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> 

Répondre

5

La sécurité de l'application sur WAS n'est pas activée par défaut.

Dans la console d'administration, allez à: Sécurité ->Global Security et assurez-vous que la Activer la sécurité des applications case est cochée.

Vous devrez peut-être redémarrer le serveur après avoir enregistré les modifications.

4

Par défaut, WAS (je suppose que vous vous posez sur le serveur d'applications, et non un autre produit WebSphere) a un domaine global avec un registre basé sur des fichiers pour les utilisateurs et les groupes. La solution la plus simple à votre problème consiste à ajouter les utilisateurs et les groupes dont vous avez besoin à ce registre et à leur assigner des rôles. Vous pouvez gérer ce registre de la console d'administration WAS en accédant à:
Utilisateurs et groupes -> Gérer les utilisateurs
ou
Utilisateurs et groupes -> Gérer les groupes

L'inconvénient potentiel de cette approche est que les utilisateurs et les groupes que vous créez sont des utilisateurs et des groupes valides pour toutes les applications sur le serveur. Autrement dit, les utilisateurs que vous créez auront au moins les droits "Tous authentifiés" pour toute application sur le serveur, y compris la console d'administration. Ce n'est souvent pas un problème (la console d'administration n'accorde aucun droit à "tous authentifiés", et d'autres applications ne le sont pas non plus), mais c'est quelque chose à garder à l'esprit.

Une solution plus complexe consiste à créer un domaine de sécurité distinct pour votre application. Cela permet la création d'un registre pour votre application uniquement. Le registre peut être basé sur un fichier, LDAP ou un registre personnalisé. Voir:

+0

@Dan, merci. Mon problème réel est que je ne peux pas faire apparaître la boîte de dialogue d'invite d'authentification de base dans l'un de mes navigateurs. –

Questions connexes