首先,对于Spring来说,我是一个完整的菜鸟。我正在申请一位正在度假的同事来处理申请。他告诉我要保持安全,因为最后的方法还没有确定,只是开发应用程序的其余部分。
但是启用了安全性并阻止访问主网页。我查了几个文件,包括
Disable Spring Security from spring-security.xml file
Disable Basic Authentication while using Spring Security Java configuration
http://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-security.html
http://docs.spring.io/spring-boot/docs/current/reference/html/howto-security.html
没有找到有效的答案。
我做了以下事情:
将index.html添加到< welcome-file-list>在web.xml中。这会将我引导到已经包含在我接手的包中的登录页面。所以,我想我可以简单地禁用安全性。
在spring security.xml中添加了属性security =“none”。现在我不再获取登录页面了。我得到一个空白页。
禁用web.xml
<!-- <filter> -->
<!-- <filter-name>springSecurityFilterChain</filter-name> -->
<!-- <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class> -->
<!-- </filter> -->
<!-- <filter-mapping> -->
<!-- <filter-name>springSecurityFilterChain</filter-name> -->
<!-- <url-pattern>/*</url-pattern> -->
<!-- </filter-mapping> -->
仍然是空白页。
我看到了很多其他的建议,但它假设了比我现在更多的Spring知识。
例如,在上面的第4个链接中,我看到:
如果你在任何地方用@EnableWebSecurity定义一个@Configuration 您的应用程序将关闭默认的webapp安全性 Spring Boot中的设置。
我不知道他们的意思。我假设这意味着将这些注释放在某个方法的某个地方,但我不能相信这可以在应用程序的任何java类中随处可见。有这样做的例子吗?
有人能指出我正确的方向吗?感谢。
答案 0 :(得分:2)
在安全XML文件中注释掉<intercept-url pattern="" access="" />
标记,并授予对所有页面的访问权限。这应该有用。
答案 1 :(得分:1)
这似乎有效(在spring-security.xml中)
<!-- <intercept-url pattern="/**" access="hasRole('ROLE_USER')" /> -->
<intercept-url pattern="/**" access="permitAll" />
答案 2 :(得分:0)
检查你的web.xml或你的appContext.xml,找到spring security.xml bean的加载位置(它就像<import resource=../spring security.xml>
)并注释掉它,同时检查从那里加载的bean禁用它,导致它可能重定向或其他什么