如何在Spring Boot中使用Backbone和REST进行身份验证
How to authenticate in Spring Boot using Backbone and REST?
我正在努力掌握高级概念,同时我刚刚开始学习Spring Security。虽然最终我想要支持"通过Google登录"(和其他社交媒体),但现在我只是在做原型,所以我想要的只是一种快速的方法来为我的应用添加用户支持,以进行测试。
我正在使用Spring Boot和Backbone。在初始页面加载之后,所有请求都通过Backbone通过REST发出。到目前为止,我对Spring Security做的还不多,但是如果我添加这个配置:
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Autowired
DataSource dataSource;
@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
auth
.jdbcAuthentication()
.dataSource(dataSource)
.usersByUsernameQuery("SELECT username, password,enabled FROM users WHERE username=?")
.authoritiesByUsernameQuery("SELECT username, authority FROM authorities WHERE username = ?")
.rolePrefix("ROLE_");
}
然后当我去我的应用程序,我得到一个登录表单,如果我输入一个有效的用户,我可以访问应用程序,这是一个很好的开始。
但是当Backbone尝试REST调用时,它不起作用。我只得到一个403 - Forbidden
。
我想我明白为什么高层会发生这种事。我假设我需要在向服务器发送每个请求时发送用户详细信息。但我不确定这在Spring Security中是如何工作的,而且我找不到任何文档来解释它。
在这里,我宁愿遵循Spring Security指导方针,而不愿尝试自己的解决方案并重新发明轮子。
在Spring Security中是否有一种惯用的方法来做到这一点?
浏览器应该发送会话cookie与它的请求,所以一旦您通过身份验证,它应该工作正常。您有一个403响应(而不是401)这一事实表明它正在工作。也许你正在请求一个你不允许看到的资源,或者是其他的东西。如果你打开org.springframework.security上的调试日志,它应该会告诉你发生了什么。
相关文章:
- Amazon S3 REST API大小不正确
- 客户端服务器REST API captcha实现
- backbone.js无法渲染视图
- 如何使用backbone.js从集合中获取模型名称
- Backbone LayoutManager渲染问题
- Backbone.js restful json API design
- Backbone虹吸以获取对象数组
- 2个backbone.js集合,具有相同的模型,但排序顺序不同
- SharePoint 2010 Jquery/JSON Rest Multiple OR语句-如何
- 使用angularjs中的rest调用通过id获取数据
- Backbone.js micro templating
- FancyTree JS+Backbone.JS-将数据加载到FancyTree时出现问题
- Backbone.js将模型绑定到视图时出错
- 在同一ip但不同端口上使用Rest API
- 如何使用 Backbone 读取通过同一 REST URL 返回的两个不同对象
- Backbone.js 和 Django Rest Framework 注册和身份验证
- 如何将 Twitter rest api 与 Backbone 一起使用
- backbone.js在本地存储和rest-api之间切换
- 如何在Spring Boot中使用Backbone和REST进行身份验证
- 可以't从BackBone中的REST调用获取数据:未捕获类型错误:无法读取属性'长度'的未定义