java - Spring Boot 不为来宾用户调用控制器
问题描述
我有一个视图来检索公开的密码,但不调用控制器,它仅在用户登录并通过 url 进入此视图时才有效。我正在使用带有 spring security 的 spring boot 1.5.14。
function validar(){
var codigo= $('#codigo').val();
$.ajax({
type : "GET",
url : "/host/validar",
data: {
"codigo" : codigo
},
success: function(result) {
alert("success");
},
error : function(e) {
alert("error");
}
});
}
带有百里香叶的 html
<div class="x_content">
<section class="text-center">
<h5><span>Ingrese codigo</span></h5>
<form id="formValidar">
<div>
<input type="text" class="form-control" placeholder="codigo" required="" id="codigo" name="codigo" />
</div>
<br>
<div>
<button class="btn btn-dark" type="button" onclick="validar()">Validar</button>
</div>
</form>
</section>
</div>
控制器
@RequestMapping(value = "/validar", method = RequestMethod.GET)
public @ResponseBody String validar(
@RequestParam("codigo") String codigo){
System.out.println("entro sdgsdgdsg");
System.out.println("codigo: "+codigo);
Usuario usuario = usuarioService.buscarPorCodigo(codigo);
if (usuario == null){
return "pagina-validar";
}
return "nueva-pagina";
}
编辑:添加配置安全性。
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests().antMatchers("/css/**", "/js/**","/images/**","/build/**","/vendors/**","/recuperar-clave","/nueva-clave").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.successHandler(successHandler)
.loginPage("/login").permitAll()
.and()
.logout().permitAll();
}
解决方案
推荐阅读
- c# - AzureDevOps 构建管道耗时过长(25-30 分钟)
- javascript - 计数对象数组内的数组
- c# - 如何在 DataRow 对象中设置字段
- html - 如何在 vue.js 中执行 Jquery 代码。我想在 vue.js 中运行 JQuery
- postgresql - 从 Google Cloud Endpoints 连接到 Cloud SQL 时出错
- jquery - 测量图像的宽度和高度在 Chrome 和 Firefox 中返回 0,但在 Safari 中有效
- python - 无法通过 Chilkat2 使用 OAuth2 访问 Microsoft 邮箱
- r - 试图用具有 NA 值的数据框计算行的总和
- python - 散点图根据值标记不同的颜色
- android-studio - 我可以从我的 Google Play 商店中完全删除我的应用吗?