Spring 安全提供者之间有什么区别?(Spring Roo 2 M3)

hol*_*ght 1 spring-security spring-roo spring-boot

好吧,我正在构建一些个人项目来学习 spring roo 2。现在我正在努力解决 spring 安全问题。google 里关于spring roo 2 的资料很少,很多关于spring roo 的spring boot 比较有用的资料。

使用“安全设置”命令,您将获得“--provider”选项。

这是帮助给你的描述:

可选 --provider:要安装的 Spring Security 提供程序。可能的值是:(DEFAULT将使用 Spring Boot 提供的默认 Spring Security 配置)和SPRINGLETS_JPA(使用 Springlets JPA 身份验证将包含高级 Spring Security 配置);默认值:'默认'

我找不到这两个选项之间的区别,即使在 spring roo M3 参考文档中也是如此。即使搜索“Springlets JPA Authentication”也没有提供任何相关信息。

有人对此有任何线索吗?

谢谢

jcg*_*cia 5

这些是这两个提供程序之间的主要区别:

  • DEFAULT: 当您将 包含spring-boot-starter-security在项目类路径中时,是 Spring Boot 提供的默认 Spring Security 自动配置。这是默认选项,因为 Spring Roo 总是尝试生成使用 Spring Boot 提供的自动配置的应用程序。

    • 如果以下更改将应用​​于您的项目,则选择此项:
      • spring-boot-starter-security 依赖项将包含在您的 pom.xml 文件中
    • 如果您想了解有关此配置的更多信息,您应该查看spring boot 参考指南
  • SPRINGLETS_JPA:如果选择此提供程序,将使用 Spring Boot 提供的默认 Spring Security 自动配置。此外,此提供程序将Springlets库包含到您的类路径中,为您提供一些额外的启动器来自动配置高级 Spring Security 属性。此外,将安全身份验证配置为使用数据库中的用户,而不是 Spring Boot 自动配置提供的默认内存中身份验证。您将能够使用该application.properties文件并包括属性springlets.security.auth.in-memory.enabledspringlets.security.auth.in-memory.erase-credentials.

    • 如果以下更改将应用​​于您的项目,则选择此项:
      • springlets-boot-starter-authentication 依赖项将包含在您的 pom.xml 文件中
      • security.enable-csrf=true将包含属性以启用CSRF. 在此处了解有关 CSRF 和 Spring Security 的更多信息
    • 要了解有关 Springlets Security 项目的更多信息,请查看Springlets 项目页面

希望能帮助到你,