Ma page était java avec Wicket comme front-end. Maintenant, j'ai une page de démarrage wordpress avec un formulaire de connexion. Lorsque je saisis l'e-mail et le mot de passe dans ce formulaire de connexion, je souhaite le rediriger vers un service de connexion qui redirige ensuite l'utilisateur vers la page d'accueil du portillon si la connexion est réussie.POST à Java à partir de Wordpress
La façon dont j'ai essayé de faire ceci est en envoyant un message de POST de la page wordpress, et le manipule avec un service dans mon application de Java. Cela ne fonctionne pas bien pour moi.
Est-ce un bon moyen de le faire? Sinon, quelles sont les autres possibilités?
C'est la mise en œuvre, je l'ai essayé aujourd'hui:
(simulation du post-action de la page wordpress sur le dessus)
<FORM action="http://localhost:8080/Login" method="post">
<P>
<LABEL for="email">Email: </LABEL>
<INPUT type="text" id="email"><BR>
<LABEL for="password">Password: </LABEL>
<INPUT type="text" id="password"><BR>
<INPUT type="submit" value="Send"> <INPUT type="reset">
</P>
</FORM>
Service:
@Path("/Login")
@Consumes("application/xml")
public class LoginServiceImpl implements LoginService{
private static final Response USER_AUTHORIZATION_FAILED = Response.status(
Status.NOT_ACCEPTABLE).build();
private static final Response USER_SUCCESSFULLY_AUTHORIZED = Response.status(
Status.ACCEPTED).build();
@Autowired
private UserController userController;
@Override
@POST
public Response login(@QueryParam("email") String email,
@QueryParam("password") String password) {
boolean authenticated = userController.authenticate(email,
password);
User u = userController.findByEmail(email);
if (u != null && u.getUserType() == UserType.COMPANY_RECRUITER) {
handleCompanyRecruiter(u);
return USER_SUCCESSFULLY_AUTHORIZED;
}
else if ((authenticated && u != null) && (u.getCompany().getIsActive())) {
signInUser(u);
setCorrectResponsePage(u);
return USER_SUCCESSFULLY_AUTHORIZED;
}
else{
return USER_AUTHORIZATION_FAILED;
}
}
applicationContext:
<!-- LOGIN SERVICE -->
<jaxrs:server id="loginService" address="/login">
<jaxrs:serviceBeans>
<ref bean="loginServiceBean" />
</jaxrs:serviceBeans>
<jaxrs:providers>
<ref bean="jaxbProvider" />
<ref bean="notFoundExceptionMapper" />
</jaxrs:providers>
</jaxrs:server>
<bean class="services.CandidateServiceImpl"
id="candidateServiceBean" />
L'exécution de ce, quand je rentre dans le formulaire et appuyez sur Envoyer Je reçois cette erreur:
HTTP ERROR: 404
NOT_FOUND
RequestURI=/Login
Me annoter le LoginServiceImpl avec @Path («/Connexion ») est peut-être pas la bonne façon? Comment rediriger le POST vers l'emplacement correct?
Et voici le vieux Wicket page pour la connexion:
<wicket:panel>
<wicket:extend>
<div id="top_login">
<form wicket:id="loginForm">
<div>
<label for="loginEmail" wicket:id="loginEmailLabel">Email</label>
<input class="text" id="loginEmail" wicket:id="loginEmail" tabindex="101" />
</div>
<div>
<label for="loginPassword" wicket:id="loginPasswordLabel">Password</label>
<input class="text" type="password" id="loginPassword" wicket:id="loginPassword" tabindex="102" />
</div>
<div class="loginBtnArea">
<input wicket:id="loginButton" class="submit" type="submit" tabindex="103" value="Login" />
</div>
</form>
<a wicket:id="forgotPasswordLink"><span class="forgotPassword" wicket:id="forgotPasswordLabel">Forgot your password?</span></a>
</div>
</wicket:extend>
</wicket:panel>
pourquoi vous voulez utiliser la page d'accueil wordpress? Wicket devrait être assez bon pour soutenir votre écran d'accueil. – dimitrisli
C'est une exigence d'affaires que je n'ai aucun contrôle de ... Je suis d'accord que c'est stupide. –