J'utilise Spring Security 4. j'avais ma configuration comme:Connexion ne fonctionne pas avec formulaire de connexion
http
.requiresChannel()
.and()
.authorizeRequests()
.antMatchers("<URLS>").hasAnyAuthority(CUSTOMER.toUpperCase(), BRANCH.toUpperCase())
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
avec cette configuration, je suis en mesure d'accéder à l'URL de connexion de printemps:
localhost:9080/contextpath/login?username=BNH123456&password=pass
Mais maintenant, quand j'utilise une configuration de formulaire de connexion comme suit:
http
.requiresChannel()
.and()
.authorizeRequests()
.antMatchers("<URLS>").hasAnyAuthority(CUSTOMER.toUpperCase(), BRANCH.toUpperCase())
.and()
.authorizeRequests()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage(journey.equalsIgnoreCase("customer") ? "/" : "/#!/login")
Je ne peux pas accéder l'URL de connexion du Spring. Il dit:
Erreur 404.
Est-il nécessaire de définir un contrôleur personnalisé lorsque je définis formulaire de connexion?
Je souhaite utiliser mon formulaire de connexion personnalisé, mais il utilise l'URL de connexion de Spring. (Si je clique sur une demande de connexion à Postman, il doit s'authentifier.)
Quelqu'un peut-il vous guider?
«#» ne sera pas reçu sur le serveur côté client ancres et ne sera pas envoyé au serveur. –
Nous utilisons angulaire sur frontend et nous avons 2 types de voyages. pour le parcours client ma page d'accueil est "/" mais pour le voyage du personnel ma page d'accueil est "/ #!/login". angulaire envoie le nom d'utilisateur et le mot de passe à backend pour validation. quand je n'ai pas mis "loginform" cela a bien fonctionné, mais quand j'ai ajouté, la même URL localhost: 9080/contextpath/login? nom d'utilisateur = BNH123456 & mot de passe = passer cessé de fonctionner. – kenthewala
Pourquoi devrait-il être différent ... Il suffit d'appeler le même point d'entrée. Et non votre page d'accueil n'est pas '/ #!/Login', c'est toujours'/'. Angular analyse la partie '#!/Login'. –