Récupération du user apache en jsp

Discussions sur le développement de JSP, servlets, et Java en général.

Modérateur : Modérateurs

Avatar de l’utilisateur
phnav
Nouveau membre
Messages : 6
Inscription : jeu. 04 mars 2004, 19:39

Messagepar phnav » jeu. 04 mars 2004, 19:49

Est-il possible de récupérer dans une page JSP, le user/password demandé par la popup généré par le fichier .htaccess ?

Avatar de l’utilisateur
Gandalf
Sorcier des forums
Sorcier des forums
Messages : 2528
Inscription : jeu. 04 déc. 2003, 22:58

Messagepar Gandalf » ven. 05 mars 2004, 10:01

en théorie, oui, mais je n'ai jamais réussi à le faire marcher avec request.getRemoteUser(), comme plein d'autres personnes... donc ma technique est de récupérer les headers directement, et de jouer avec.
(pour plus d'infos, regarder la RFC du protocole HTTP.)
Celui qui détruit quelque chose pour savoir ce que c'est, a quitté le chemin de la sagesse.

Avatar de l’utilisateur
phnav
Nouveau membre
Messages : 6
Inscription : jeu. 04 mars 2004, 19:39

Messagepar phnav » sam. 06 mars 2004, 10:09

Bon super ...
Quelle est alors la méthode la plus simple pour gérer les utilisateurs ?
Ce que je veux c'est :
- que toute page demandée prompt un user/pswd sans apporter de modification à cette page (ce que fait le .htaccess)
- dans deux ou trois pages seulement je dois gérer des droits sur certains liens
Sinon je peux utiliser des sessions avec une fenêtre de connexion, mais ça me semble lourd pour ce que je veux faire.
Merci

Avatar de l’utilisateur
Gandalf
Sorcier des forums
Sorcier des forums
Messages : 2528
Inscription : jeu. 04 déc. 2003, 22:58

Messagepar Gandalf » sam. 06 mars 2004, 12:26

tu peux essayer d'utiliser la gestion des utilisateurs de tomcat directement, je te conseille de bien regarder les différents fichiers .xml (server.xml , tomcat-users.xml, web.xml....) qui présentent des exemples de gestion d'utilisateurs avec tomcat.
Celui qui détruit quelque chose pour savoir ce que c'est, a quitté le chemin de la sagesse.

Avatar de l’utilisateur
phnav
Nouveau membre
Messages : 6
Inscription : jeu. 04 mars 2004, 19:39

Messagepar phnav » dim. 07 mars 2004, 20:35

Oui, j'ai jeté un oeil la dessus, mais je dois vraiment être neu-neu, parce rien de marche !
J'ai beau suivre les quelques indications de certains sites, mais rien ...
Le formulaire j_security_check me renvoit toujours sur une "page non trouvé"
Je commence à regretter d'avoir commencé mon site en JSP, je trouve que c'est vraiment le bazard, c'est un mélange de plusieurs techniques qui parfois je trouve n'apportent pas grand chose (TagLib, Servlet, Beans ..), peu documenté, enfin bof c'est un peu le découragement. PHP c'est bien plus réglo !
Bon, si par hazard tu as quelques liens ou 5 minutes pour quelques tuyaux je suis preneur :(

Avatar de l’utilisateur
phnav
Nouveau membre
Messages : 6
Inscription : jeu. 04 mars 2004, 19:39

Messagepar phnav » dim. 07 mars 2004, 20:37

Au fait je crois que j'utilise une vieille version de Tomcat (Servlet 2.2 et JSP 1.1)
Il était installé par défaut sur ma machine, mais je n'ose pas l'upgrader.

Avatar de l’utilisateur
phnav
Nouveau membre
Messages : 6
Inscription : jeu. 04 mars 2004, 19:39

Messagepar phnav » mar. 09 mars 2004, 20:47

Mais pas de récupération du user géré par Apache
par contre après quelque modification dans le paramétrage de Tomcat (même 3.3) ça marche très bien, il se déclanche sur n'importe quelle page accédée en premier, sans ajouter de code.

Pour récupérer les infos sur le user courant et son role :
<span style='color:blue'>request.getRemoteUser()
request.getUserPrincipal()
request.getAuthType()
request.getContextPath()
request.getParameter("role")
if ( request.isUserInRole("admin") )</span>

--- Mon fichier web.xml (dans WEB-INF) ---

<span style='color:blue'><?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE web-app
PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
<web-app>
<display-name>login-xml</display-name>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<security-constraint>
<web-resource-collection>
<web-resource-name>Protected Area</web-resource-name>
<url-pattern>/*</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
<http-method>PUT</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>admin</role-name>
<role-name>oper</role-name>
<role-name>guest</role-name>
</auth-constraint>
</security-constraint>
<login-config>
<auth-method>BASIC</auth-method>
<realm-name>Authentication Area</realm-name>
</login-config>
</web-app></span>

--- Mon fichier apps-MonSite.xml (dans tomcat/conf) ---

<span style='color:blue'><?xml version="1.0" encoding="ISO-8859-1"?>
<webapps>
<!-- Special rules for the admin webapplication -->
<!-- Change "trusted" to true in order to run the admin -->
<Context path="/MonSite"
docBase="/web/MonSite"
reloadable="true"
debug="0"
trusted="true" >
<SimpleRealm filename="conf/users/MonSite-users.xml" />
<LogSetter name="MonSite.log" path="logs/MonSite.log" />
</Context>
</webapps></span>

--- Mon fichier server.xml (dans WEB-INF) ---

ben ... pas de modif je crois


--- Mon fichier MonSite-users.xml (dans tomcat/conf/users) ---

<span style='color:blue'><tomcat-users>
<user name="admin" password="admin00" roles="guest,admin,oper" />
<user name="oper" password="oper00" roles="guest,oper" />
<user name="guest" password="guest00" roles="guest" />
</tomcat-users></span>

Il est même possible d'avoir sa page de login (login.jsp), par contre y a un truc que j'ai pas compris : le fichier login.jsp doit être dans un répertoire différent et de même niveau que les autres pages sinon ça tourne en boucle. On doit définir par exemple, dans le fichier web.xml :

<span style='color:blue'><login-config>
<auth-method>FORM</auth-method>
<realm-name>Authentication Area</realm-name>
<form-login-config>
<form-login-page>/login/login.jsp</form-login-page>
<form-error-page>/login/error.jsp</form-error-page>
</form-login-config>
</login-config></span>

et pour url-pattern, un autre répertoire

<span style='color:blue'><url-pattern>/secure/*</url-pattern></span>

Si quelqu'un a une astuce pour faire en sorte qu'ils soient dans le même répertoire ... phnav@free.fr

Avatar de l’utilisateur
phnav
Nouveau membre
Messages : 6
Inscription : jeu. 04 mars 2004, 19:39

Messagepar phnav » mar. 09 mars 2004, 20:49

J'oubliais : merci à Gandalf :huh:

Avatar de l’utilisateur
ausylan
Nouveau membre
Messages : 1
Inscription : jeu. 17 nov. 2005, 17:09

Messagepar ausylan » jeu. 17 nov. 2005, 17:13

Gandalf a écrit : en théorie, oui, mais je n'ai jamais réussi à le faire marcher avec request.getRemoteUser(), comme plein d'autres personnes... donc ma technique est de récupérer les headers directement, et de jouer avec.
(pour plus d'infos, regarder la RFC du protocole HTTP.)

Euh désolé mais je n'arrive pas non plus à utiliser getremoteuser or je n'ai pas le choix de la méthode... mon boss veut absolument que je passe par ca !!! :'(

quelqu'un a-t-il depuis trouvé une solution pour que le REMOTE_USER soit identifiable en JSP ???

merci d'avance !


Revenir vers « Java »

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 1 invité