Spring Boot教程通常会解释如何基于Spring Boot保护Web应用程序,但不涉及控制台/命令行应用程序(从spring-boot-starter-remote-shell访问)。
对于Web应用程序,我们只需要扩展WebSecurityConfigurerAdapter,然后重写一些方法即可。
那么,是否有一个等效的类来扩展控制台/命令行应用程序?如果没有,最好的方法是什么?
Spring Boot教程通常会解释如何基于Spring Boot保护Web应用程序,但不涉及控制台/命令行应用程序(从spring-boot-starter-remote-shell访问)。
对于Web应用程序,我们只需要扩展WebSecurityConfigurerAdapter,然后重写一些方法即可。
那么,是否有一个等效的类来扩展控制台/命令行应用程序?如果没有,最好的方法是什么?
如果您的应用程序正在使用Spring Security,shell默认会使用相同的配置。
如果您想让Crsh使用您的身份验证管理器你有两个选项
如果shell.auth设置为spring,或者没有提供明确的shell.auth且可用AuthenticationManager,则将启用此身份验证方法。
如果您需要在Csrf中进行更精细的访问决策管理,您还可以定义一个名为"shellAccessDecisionManager"
的AccessDecisionManager
bean。
@Autowired(required = false)
@Qualifier("shellAccessDecisionManager")
private AccessDecisionManager accessDecisionManager;
SecurityBuilder
实现进行配置,只要不触及基于Web的实现:)。 - M. Deinum