【问题标题】:Spring boot security console/command line applicationSpring boot 安全控制台/命令行应用
【发布时间】:2015-09-17 05:01:26
【问题描述】:

Spring Boot 教程通常解释如何保护基于 Spring Boot 的 Web 应用程序,而不是控制台/命令行应用程序(从 spring-boot-starter-remote-shell 访问)。

对于 Web 应用程序,我们只需要从 WebSecurityConfigurerAdapter 扩展,然后覆盖一些方法。

是否有一个等效的类来扩展控制台/命令行应用程序?如果没有,最好的方法是什么?

【问题讨论】:

  • 有趣的一个。尽管您可以重用所有后端 bean,但没有用于扩展配置的默认类。您将如何提供用户名/密码?您可以使用不同的SecurityBuilder 实现进行配置,只要您不接触基于 Web 的实现即可:)。
  • 也许您应该详细说明您要在控制台应用程序中使用 Spring Security 保护的内容。

标签: spring-security spring-boot


【解决方案1】:

根据spring-boot reference

如果您的应用程序使用 Spring Security,则默认情况下,shell 将使用相同的配置。

如果您希望 Crsh 使用您的身份验证管理器you have 2 options

如果 shell.auth 设置为 spring 或者没有提供明确的 shell.auth 并且 AuthenticationManager 可用,则将启用此身份验证方法。

如果您需要在 Csrh 中找到粒度访问决策管理,您还可以定义一个名为 "shellAccessDecisionManager"AccessDecisionManager bean。

CrshAutoConfiguration

    @Autowired(required = false)
    @Qualifier("shellAccessDecisionManager")
    private AccessDecisionManager accessDecisionManager;

【讨论】:

    猜你喜欢
    • 2020-09-23
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 2015-10-10
    • 1970-01-01
    • 2014-10-08
    • 1970-01-01
    相关资源
    最近更新 更多