Procédure de programmation pour la connexion à j_security_check
J'ai une page JSP de l'application web qui utilise j_security_check
. Est-il possible de connecter un utilisateur spécifique pour j_security_check
par programmation via une page JSP si je sais que le nom d'utilisateur et le mot de passe? J'ai essayé de passer les variables comme paramètres d'URL de cette façon...
response.sendRedirect(www.mydomain.com/j_security_check?j_username=someUserName&j_password=somePassword )
...mais ça ne fonctionne pas. Est-il possible de le faire?
Edit:
voici ma page de connexion qui fonctionne très bien maintenant. J'ai coupé une partie du code pour des raisons de sécurité.
<form name="signon" method="post" action="/j_security_check">
<table width="100%" cellpadding="4" cellspacing="0">
<tr>
<td valign="top" colspan="4">
<h2><%= UI.tr(null, "login_details") %>
</h2>
</td>
</tr>
<tr>
<td valign="top" width="150px">
<%= UI.tr(null, "login_id") %>
</td>
<td valign="top" width="150px">
<%= UI.tr(null, "login_pass") %>
</td>
<td valign="top" width="150px">
<%= UI.tr(null, "login_token_or_captcha") %>
</td>
<td width="100%"> </td>
</tr>
<tr>
<%
if (logins == null) {
%>
<td>
<input type="hidden" name="j_uri" value="/index.jsp">
<input type="text" id="username" name="j_username" size="16" style="width: 150px;" autocomplete="off" <%= username == null ? "" : "disabled value='" + username + "'" %> onblur="return checkCaptcha();">
</td>
<%
} else {
%>
<td>
<select name="j_username" style="width: 150px;">
<%
for (Login login : logins) {
%>
<option><%= login.getUsername() %>
</option>
<%
}
%>
</select>
</td>
<%
}
%>
<td><input type="password" name="j_password" size="16" style="width: 150px;"> </td>
<td><input type="text" id="mypw" name="mypw" size="16" autocomplete="off" style="width: 150px;"></td>
<td><input class="submit" type="submit" name="submit" value="<%= UI.tr(null, "login_submit") %>"></td>
</tr>
<tr>
<td valign="top" colspan="4">
<%-- <%
if("registry.nic.hn".equals(request.getServerName())) {
%>
<!-- GARTH - put whatever you want here for .HN -->
<% } else { %> --%>
<h2><%= UI.tr(null, "login_news") %>
</h2>
<div><%= HTMLFormat.addBreaks(SiteConf.getSiteConf().getNews()) %>
</div>
<%-- <% } %> --%>
</td>
</tr>
OriginalL'auteur Ozgur Dogus | 2013-04-01
Vous devez vous connecter pour publier un commentaire.
Le code suivant fonctionne pour moi dans le fichier JSP:
Quel cadre utilisez-vous pour l'authentification? Le Tomcat Formulaire d'authentification?
comment puis-je vérifier la version de framework ?
Comment vous authentifier de façon régulière? Sans le programatical d'authentification?
Vous avez besoin également de consulter une personne qui crée le cadre d'authentification 2 commentaires: 1) Le formulaire de connexion utilise la méthode "post". Le code JSP ci-dessus utilise la méthode "get". Si le cadre le supporte pas - il ne fonctionnera pas (le Tomcat Formulaire en charge de l'authentification) 2) l'ajout d'un paramètre d'entrée dans le formulaire de connexion : "mypw". Ce que la valeur attendue? Peut-être que vous devriez passer, elle aussi? String url = "j_security_check?j_username=" + username + "&j_password=" + mot de passe "& mypw =" + mypw_value
OriginalL'auteur Michael
Dans mes vues, connectez-vous en utilisant
j_security_check
url en ajoutantusername
etpassword
semble être une grande sécurité venerability.Au lieu de cela, vous pouvez effectuer les étapes suivantes:
j_security_check
url avec un nom d'utilisateur et le mot de passeDe cette façon, il sera sécurisé.
OriginalL'auteur Rupesh
Vous avez déclaré que vous voulez de connexion par programmation. Je voudrais éviter d'utiliser j_security_check si c'est votre objectif. j_security_check est utilisé avec la Fonction du Formulaire d'Authentification (découvrez cet Oracle de ressources sur la Sécurisation des Applications Web - Forme d'Authentification est couvert environ à mi-chemin vers le bas: http://docs.oracle.com/cd/E24329_01/web.1211/e24485/thin_client.htm).
Je vous conseille de prendre un coup d'oeil à la ressource et de plonger dans quelques-unes des alternatives, mais une autre approche, est d'utiliser le Java Authentication and Authorization Service (JAAS) API (Voici un tutoriel lien: http://docs.oracle.com/javase/6/docs/technotes/guides/security/jaas/tutorials/GeneralAcnOnly.html) JAAS et un gestionnaire de rappel est la non-abstraction façon de programmaticly adressage (authentification et autorisation). De nombreux robuste cadres sont basés sur cette API JAVA, de sorte qu'il peut être la peine de prendre un coup d'oeil si vous êtes toujours aux prises avec ce problème.
OriginalL'auteur Greg Ogreenc
Vous pouvez avoir à l'utilisateur d'entrer le nom d'utilisateur et mot de passe sur une page jsp et servlet ou de l'utilisation d'un facelets page et un haricot comme décrit ici de connexion d'un utilisateur.
La page jsp doit uniquement être utilisé pour saisir le login de l'utilisateur de l'information et que l'information doit être envoyée à une servlet qui gère l'enregistrement de l'utilisateur à l'aide de la demande.login(nom d'utilisateur,mot de passe) de la méthode.
Comment puis-je envoyer les informations de journalisation ? dans la page jsp, je ne vois pas une demande.méthode de connexion ?
OriginalL'auteur ChadNC