我需要使用Spring启动进行用户注册和身份验证的简单CRUD应用程序,但是我无法确定如何正确执行此操作。我在RDMS上创建了user
表,并设置了Redis来存储用户会话,如here所述。
在Spring boot docs,据说
如果Spring Security在类路径上,那么Web应用程序将是 默认情况下,在所有HTTP端点上使用“基本”身份验证进行保护。
但是我定义了几个CrudRepository
接口,在启动我的应用程序之后,我可以GET
使用浏览器进行数据而不进行身份验证。我认为它应该在没有额外调优的情况下开箱即用,因此检查Spring Security是否在gradlew dependencies
命令的类路径中并且它似乎在那里:
此外,应用程序启动时应显示的默认用户密码也不会显示。也许我在这里错过了什么?
此外,我不确定这是否是移动应用程序的最佳选择,因为它可能使用短生命令牌。还有其他几个选项,其中包括using a WebView and cookies(很久以前Google推荐),creating a custom authentication entry point,using approach that was used in Angular web app和最后stateless authentication with OAuth 2.0。直接与声称
的Angular Web应用程序教程的作者相反这里要考虑的重点是安全是有状态的。您 无法拥有安全的无国籍申请。
那么我们如何传递令牌呢?它应该活多久?我们是否需要制作额外的XSRF令牌?我们应该使用现成的解决方案还是实施自己的解决方案?我们可以让它无国籍吗?