Spring启动安全控制台/命令行应用程序



Spring引导教程通常解释如何保护基于Spring引导的web应用程序,而不是控制台/命令行应用程序(从Spring引导启动器远程shell访问)。

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

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

根据弹簧引导参考

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

如果你想让Crsh使用你的身份验证管理器,你有两个选项

如果shell.auth设置为spring,或者没有提供显式shell.ath并且AuthenticationManager可用,则会启用此身份验证方法。

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

参见CrshAutoConfiguration

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

最新更新