使用Spring Security 3.2保护AngularJS SPA

时间:2014-10-06 21:04:35

标签: angularjs spring-security

欢迎任何帮助,建议和经验。

我目前在Apache HTTP Server上有一个单独的AngularJS SPA,在Tomcat 7 Servlet上有一个Spring后端。后端用作SPA的Rest API。 一些休息资源将要求用户具有某种角色。

我几天来一直在网上搜索实施最佳安全策略的内容和方法:

  • Basic Auth
  • 摘要
  • OAUTH
  • 无国籍,饼干?会议?令牌? CSRF?

您如何将Json或XML中的Spring Security与SPA通信以向用户显示身份验证页面或“您已成功通过身份验证的页面”?

感谢任何帮助。

2 个答案:

答案 0 :(得分:2)

我终于想出了如何使用Rest Restend对SPA进行身份验证。

在Spring security中我创建了一个

  • 自定义SimpleUrlAuthenticationFailureHandler,如果登录尝试失败,则返回HTTP-Unauthorizated。
  • 自定义SavedrequestAwareAuthenticationSuccessHandler,如果登录尝试成功,则返回Http-Oke。
  • 自定义AuthenticationEntryPoint,它返回Http-Unauthorizated而不是重定向。
  • 自定义LogoutSuccessHandler,返回Http-OK。
  • 我禁用了CSRF。

如果有人需要更多帮助,请随时告诉我或给我发消息。

答案 1 :(得分:0)

我强烈建议您观看此Spring's introductory video。它使用Java配置从头开始解释了Spring Security的用法。除了基本配置,身份验证和CLRF令牌使用也会深入到现场安全性。虽然在Thymeleaf的服务器上使用模板,但也可以为基于REST的应用程序提供很多智慧。