KOCA版本 :3.x
KOCA模块 :AbstractLoginService implements LoginService
模块版本 :3.x
场景 :我自定义了AbstractLoginService,但是调用登录接口/auth/login没有触发其中的逻辑
问题 :如何使他生效?
报错细节 :
尝试解决方案:
这是我的配置
KOCA版本 :3.x
KOCA模块 :AbstractLoginService implements LoginService
模块版本 :3.x
场景 :我自定义了AbstractLoginService,但是调用登录接口/auth/login没有触发其中的逻辑
问题 :如何使他生效?
报错细节 :
尝试解决方案:
自定义loginservice需要几个步骤,第一个步骤是实现com.szkingdom.koca.auth.service.LoginService接口,这个最终非抽象类实现。
方法authenticate(T principal)是具体的校验逻辑。
String getAuthStrategy()方法是具体的策略返回。
实现完成后需要将对应的实现以Bean的形式创建。
并且需要配置
koca.security.auth-strategy.strategy-name= #对应的getAuthStrategy()返回的值
上面步骤都操作完成后,可以通过类UsernamePasswordProvider以及UsernamePasswordWebfluxProvider断点,调试,TrustedPrincipal authenticate(Principal principal)方法会最终进入自定义实现中
koca.security.auth-strategy.strategy-name= #对应的getAuthStrategy()返回的值
这个值应该填什么呢getAuthStrategy这个方法是哪里调用的呢?
并且需要配置
koca.security.auth-strategy.strategy-name= #对应的getAuthStrategy()返回的值 这个值我应该去哪里取呢?
strategy-name可以填写Koca,remote等值,我应该填写什么参数去让我自定义的loginservice生效呢请问
你也可以参照KOCA源代码中的basic和koca策略进行参考
getAuthStrategy的返回值我可以自定是么,类似:
然后我需要保证strategy-name的是我getAuthStrategy返回的

但是提示了:

我通过getAuthStrategy方法返回了我自定的值:


但是调用时发现:

不能找到我对应的实现