Spring security Spring启动,呈现静态页面
这是我的安全配置:Spring security Spring启动,呈现静态页面,spring-security,spring-boot,Spring Security,Spring Boot,这是我的安全配置: protectedvoid配置(HttpSecurity http)引发异常{ http .授权请求() .antMatchers(“/login”,“/newuser”).permitAll() .antMatchers(“/css/**”).permitAll() .antMatchers(“/js/**”).permitAll() .antMatchers(“/**”).hasRole(“用户”).anyRequest().authenticated() .及() .f
protectedvoid配置(HttpSecurity http)引发异常{
http
.授权请求()
.antMatchers(“/login”,“/newuser”).permitAll()
.antMatchers(“/css/**”).permitAll()
.antMatchers(“/js/**”).permitAll()
.antMatchers(“/**”).hasRole(“用户”).anyRequest().authenticated()
.及()
.formLogin()
.login页面(“/login”)
.permitAll()
.及()
.httpBasic()
.及()
.csrf()
.csrfTokenRepository(csrfTokenRepository())
.及()
.addFilterAfter(新的CsrfHeaderFilter(),CsrfFilter.class);
}
首先,当我没有经过身份验证时,我会被重定向到登录页面。
第二,当我试图创建一个请求此路径的新用户时“/newuser”响应状态为ok,但页面不显示。
以下是我的控制器方法:
@RequestMapping(“/login”)
公共字符串登录(){
返回“loginpage.html”;
}
@请求映射(value=“/newuser”)
公共字符串newUser(){
返回“signup.html”;
}
这是我的loginpage.html
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<link href="css/angular-bootstrap.css" rel="stylesheet">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
</head>
<body>
<div class="container" ng-controller="AuthenticationController">
<form role="form" ng-submit="signin()">
<div class="form-group">
<label for="username">Username:</label> <input type="text"
class="form-control" id="username" name="username" ng-model="credentials.username"/>
</div>
<div class="form-group">
<label for="password">Password:</label> <input type="password"
class="form-control" id="password" name="password" ng-model="credentials.password"/>
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<a href ng-click="newuser()">Create new account</a>
</div>
<script src="js/angular-bootstrap.js" type="text/javascript"></script>
<script src="js/init.js"></script>
<script>
angular.element(document).ready(function() {
code.application.initialize(function() {
angular.bootstrap(document, ['authentication']);
}, function(error) {
console.log("Error while initializing Application Content Developer:", error);
});
});
</script>
<script src="js/AuthenticationController.js"></script>
</body>
</html>
标题
用户名:
密码:
提交
元素(文档).ready(函数(){
code.application.initialize(函数(){
引导(文档,['authentication']);
},函数(错误){
log(“初始化应用程序内容开发人员时出错:”,错误);
});
});
这是我的signup.html:
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="apple-mobile-web-app-capable" content="yes">
<link href="css/angular-bootstrap.css" rel="stylesheet">
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css" rel="stylesheet">
</head>
<body>
<p>SIGNUP</p>
<script src="js/angular-bootstrap.js" type="text/javascript"></script>
<script src="js/init.js"></script>
<script>
angular.element(document).ready(function() {
code.application.initialize(function() {
angular.bootstrap(document, ['authentication']);
}, function(error) {
console.log("Error while initializing Application Content Developer:", error);
});
});
</script>
<script src="js/AuthenticationController.js"></script>
</body>
</html>
标题
报名
元素(文档).ready(函数(){
code.application.initialize(函数(){
引导(文档,['authentication']);
},函数(错误){
log(“初始化应用程序内容开发人员时出错:”,错误);
});
});
这是我的项目主要结构:
我无法理解的是:为什么登录页面被成功呈现,而注册页面被忽略,根本没有呈现。建议您尝试默认的成功url。例如:
.loginPage("/login").defaultSuccessUrl("/newuser", true)
您的
newUser()
方法是否被命中?是的,它返回页面,状态为200,但不呈现,视图保持不变loginpage.htmlc您可以提供更多信息,如文件夹结构、整个控制器和pom.xml?@eXpas在上一条注释中,您声明“视图保持不变loginpage.html”。你能澄清一下吗?您是否从/newuser
重定向到/login
,或者您是否仍然停留在/newuser
上,但看到一个空页面、一个错误页面等?对我来说,这看起来像是一个角度问题,您能为我显示javascript吗