2015-07-21 141 views
1

Spring Security4.0.1.RELEASE在提供包含由两个输入字段(用户名和密码)组成的登录表单的定制JSP页面时是否需要定制登录控制器? Spring Security示例应用程序spring-security-samples-chat-jc有一个非常简单的例子,但spring-security-samples-form-jc根本没有定义它。Spring Security在提供自定义登录表单时是否需要自定义登录控制器?

+0

你在说什么类型的自定义登录表单?一般来说,登录表单将由用户名和密码组成,Spring安全性设计得很好。请详细说明这个问题。 –

+0

我不这么认为,我想你只需要将请求发布到正确的参数右侧的url – JohnnyAW

回答

0

WebSecurityConfigurerAdapter有法命名的配置和它里面你可以做这样的事情:

http.csrf().disable() 
       .formLogin() 
       .permitAll() 
       .loginProcessingUrl("/login") 
       .usernameParameter("email") 
       .passwordParameter("password"); 

之后,你不必创建一个控制器。只需使用名为电子邮件和密码的urlencoded参数POST到/ login端点即可。

+0

为什么你禁用[CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery) ? –

+0

方法'loginPage()'和'loginProcessingUrl()'有什么区别? –

+0

loginProcessingUrl()是POST的地址。 loginPage()是登录表单的地址。我禁用了它,因为我使用spring-boot作为移动应用程序的REST服务器。 – furkan3ayraktar