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;