java Spring安全性没有做好它的工作
Atm我有一个问题,登录页面基本上什么都不做,因为如果你插入页面的url,你可以跳过登录
我在用这个
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/").hasAnyRole("Administrator" , "Member")
//.anyRequest().authenticated()
.and()
.formLogin().permitAll()
.loginPage("/login").permitAll()
.defaultSuccessUrl("/dashboard")
.failureUrl("/login?error")
.successHandler(authenticationSuccessHandler)
.and()
.logout()
.logoutUrl("/logout")
.logoutSuccessUrl("/login")
.logoutSuccessHandler(logoutSuccessHandler)
.and()
.csrf().disable();
}
注意//.anyRequest().authenticated()
被注释了。这一行似乎是为了保护我的网站不被通过URL访问,它正在重定向到登录页面
但是如果我有它,我在我的页面上看不到css,我就会
Refused to apply style from 'http://localhost:8080/login' because its MIME type ('text/html') is not a supported stylesheet MIME type, and strict MIME checking is enabled.
我如何保护我的网站,使其不知道URL,但也能在登录页面中看到CSS
# 1 楼答案
取消请求。认证 然后你必须授权访问你的静态资源
对javascript和其他静态资源也要这样做
完整配置:
# 2 楼答案
我通常会覆盖另一个配置来配置对资源的访问,与您描述的配置不同:
对我来说似乎更有条理。您可以将其添加到Spring配置类中,并通过css更改“资源”。我通常会打开“资源”并将我的css放在里面(在一个子目录中),因为它适用于各种资源,比如图像、css等等