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

6

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

对于Web应用程序,我们只需要扩展WebSecurityConfigurerAdapter,然后重写一些方法即可。

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


非常有趣的一点。没有默认的类可以用于配置扩展,但您可以重复使用所有后端bean。您将如何提供用户名/密码?您可以使用不同的 SecurityBuilder 实现进行配置,只要不触及基于Web的实现:)。 - M. Deinum
也许你应该详细说明在控制台应用程序中,你试图使用Spring Security来保护什么。 - Patrick Cornelissen
1个回答

0

根据spring-boot参考文档

如果您的应用程序正在使用Spring Security,shell默认会使用相同的配置。

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

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

如果您需要在Csrf中进行更精细的访问决策管理,您还可以定义一个名为"shellAccessDecisionManager"AccessDecisionManager bean。

请参阅CrshAutoConfiguration

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接