java-/ j_spring_security_check HTTP错误404
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java-/ j_spring_security_check HTTP错误404,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2353字,纯文字阅读大概需要4分钟。
内容图文
似乎未添加某些过滤器.
我将Spring Security 3.2.0.RELEASE与java-config一起使用.
完整项目发布于GitHub
SecurityConfig.java在这里:SecurityConfig.java
我尝试在以下位置设置过滤器:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests()
.antMatchers("/app/**").hasRole("ADMIN")
.and()
.formLogin()
.loginPage("/")
.defaultSuccessUrl("/app/")
.failureUrl("/?error=1")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("/?logout");
}
在csrf().disable()之后-但是问题没有解决…
请帮助我解决此问题,因为我可以将/ j_spring_security_check与我自己的CustomUserDetailsS??ervice结合使用!
解决方法:
我没有使用Spring Security Java Config的经验,但是我检查了您的代码和API,看来设置登录处理URL可以让您登录:
AbstractAuthenticationFilterConfigurer.loginProcessingUrl("/j_spring_security_check")
因此,您的代码应为:
@Override
protected void configure(HttpSecurity http) throws Exception {
http.csrf().disable()
.authorizeRequests()
.antMatchers("/app/**").hasRole("ADMIN")
.and()
.formLogin()
.loginProcessingUrl("/j_spring_security_check")
.loginPage("/")
.defaultSuccessUrl("/app/")
.failureUrl("/?error=1")
.permitAll()
.and()
.logout()
.logoutSuccessUrl("/?logout");
}
我希望这是默认设置.
另外,要使用MyCustomUserDetailsS??ervice,而不是像现在那样自动装配(Spring创建的代理),而是手动配置它:
public class MyCustomUserDetailsService implements UserDetailsService {
private UserDAO userDAO;
public MyCustomUserDetailsService(UserDAO userDAO) {
this.userDAO = userDAO;
}
// ...
}
注意,没有@ Service / @ Component批注和通过Ctor注入的DAO.在安全配置中:
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
private DataSource dataSource;
@Autowired
private UserDAO userDAO;
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.jdbcAuthentication()
.dataSource(dataSource)
.and()
.userDetailsService(new MyCustomUserDetailsService(userDAO));
}
// ...
}
现在,我确定UserDetailService已正确配置.并且可以肯定的是,它将在登录应用程序时使用.
我还注意到没有使用用户名和密码.这是因为在login.jsp中,您使用j_username和j_password,而username参数应该是username,而password参数应该是password.
<input type="text" id="username" class="span4" name="username" placeholder="Username" />
<input type="password" id="password" class="span4" name="password" placeholder="Password" />
查看FormLoginConfigurer类.
内容总结
以上是互联网集市为您收集整理的java-/ j_spring_security_check HTTP错误404全部内容,希望文章能够帮你解决java-/ j_spring_security_check HTTP错误404所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。