java – 为什么Spring Security无法运行?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 为什么Spring Security无法运行?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2505字,纯文字阅读大概需要4分钟。
内容图文
![java – 为什么Spring Security无法运行?](/upload/InfoBanner/zyjiaocheng/698/f6358a7f7f0e4a94b62e4b5a9fde662f.jpg)
我正在尝试将Spring Security集成到我的项目中.
我按照这里给出的文件:
https://spring.io/guides/gs/securing-web/
我使用XML配置了所有内容,而不是Spring Boot.
我的web.xml是:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.css</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.js</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
调度员servlet.xml中:
<context:component-scan base-package="com.name.ot" />
<bean id="resolver"
class="org.springframework.web.servlet.view.InternalResourceViewResolver">
<property name="viewClass"
value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/" />
<property name="suffix" value=".jsp" />
</bean>
我的视图控制器是:
@Controller
public class HomeController{
@RequestMapping(value={"/", "/home"}, method = RequestMethod.GET)
public ModelAndView home() {
ModelAndView model = new ModelAndView("home");
return model;
}
@RequestMapping(value={"/hello"}, method = RequestMethod.GET)
public ModelAndView hello() {
ModelAndView model = new ModelAndView("hello");
return model;
}
@RequestMapping(value={"/login"}, method = RequestMethod.GET)
public ModelAndView login() {
ModelAndView model = new ModelAndView("login");
return model;
}
}
我的安全类:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.inMemoryAuthentication()
.withUser("user").password("password").roles("USER");
}
}
但是,我能够访问所有页面,/,/ home,/ hello,/ login.
我不希望用户直接访问/ hello,而不进入/ login.
我究竟做错了什么?
解决方法:
我遇到过同样的问题.
我的解决方案如Craig Walls p247的“Spring in action”一书所述.您需要创建一个扩展AbstractSecurityWebApplicationInitializer的空类.
public class SecurityWebInitializer extends AbstractSecurityWebApplicationInitializer {}
内容总结
以上是互联网集市为您收集整理的java – 为什么Spring Security无法运行?全部内容,希望文章能够帮你解决java – 为什么Spring Security无法运行?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。