我成功地建立了与春季安全角度的webapp下面这个教程: https://spring.io/guides/tutorials/spring-security-and-angular-js/
一切工作正常,我还配置春季安全使用MySql数据库。
我使用的春天开机等我angularJS文件位于静态文件夹:
- “的src /主/资源/静态/ JS”
- “的src /主/资源/静态/ CSS”
- ...
我的第一个问题是关于从Web应用的角度我必须确保春季安全配置和文件/文件夹? 我是否必须允许访问Spring安全配置中的所有静态内容?例如:
http.httpBasic().and().authorizeRequests()
.antMatchers("/js/**", "/css/**", "/").permitAll()
或者这不是一个好主意吗?这里最好的做法是什么? 我第一次尝试只访问“/”和“/ login”页面,但这不适合我!从教程
实施例弹簧的安全配置:
@Configuration
@Order(SecurityProperties.ACCESS_OVERRIDE_ORDER)
protected static class SecurityConfiguration extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.httpBasic()
.and()
.authorizeRequests()
.antMatchers("/index.html", "/home.html", "/login.html", "/").permitAll()
.anyRequest().authenticated();
}
}
第二个问题是关于我的弹簧引导的应用程序下的/静态的角文件和文件夹结构。如何在Spring Boot中为我的角度web应用程序配置单个文件夹,并通过弹簧安全性为应用程序提供访问权限,例如这种结构(不低于/静态):
MyAngularApp
-- login
-- Controller
-- loginController
-- Services
-- Templates
-- login.html
-- Feature 2
-- Controller
-- Services
-- Templates
-- Feature 3
-- Controller
-- Services
-- Templates
并执行春季安全配置应该是什么样子的这种结构?
保护控制器等分别只会工作,如果你在不同的网页(不同的HTML页)中使用它们。如果你有一个真正的SPA,那是行不通的。 – dunni
所以没关系,如果我允许访问所有角度文件:/ js/**和/ css/**? – Jensebluemchen