[alibaba/nacos]nacos2.1.0版本自定义登录实现和鉴权插件开发的问题

2023-12-22 863 views
3

根据文档https://nacos.io/zh-cn/docs/auth-plugin.html 添加了自定义的鉴权插件,发现只有当nacos.core.auth.system.type的值为nacos和ldap时才能进行登录,但是此时自定义的鉴权插件又没有起作用,如果type值改成自定义插件名字在已经登录过的情况下,重启服务,刷新页面可以进入到自定义插件方法,但是此时如果退出登录后,无法登录。问题:1.nacos2.1.0版本支持自定义插件登录吗?2.如果不支持的话,如何在使用默认登录方式的情况下使用自定义插件?

回答

6
  1. 控制台前端部分没有进行模块化, 只支持用户名密码的登录方式,如果您的插件也是通过用户名密码登陆,应该也可以支持,只是需要您的插件去支持前端传过来的参数。
  2. 没看懂问题,默认登陆方式下的自定义插件是什么?
5

老师,是这样的,我把2.1.0的源码下载下来后,根据文档进行自定义的鉴权插件开发,nacos.core.auth.system.type这个值也改成了自定义插件中getAuthServiceName这个方法的返回值,打包把插件放入plugin目录,修改对应的启动参数,然后启动服务端,然后访问consol的页面,输入默认用户名密码nacos/nacos,提示用户名密码错误,只有当nacos.core.auth.system.type改为nacos时才能登录,但是改成这个值后,我自定义的插件的鉴权方法又不会被调用到。

8

控制台的登陆是固定调用默认插件的 login的http接口, 如果你的自定义插件也需要使用的话,需要同样实现这个login的http接口。并在经过你的插件验证后再返回结果。

如果插件没有自己实现login接口, 那么在修改了type后, 默认插件的login接口是不会生效的,肯定会登陆失败。

4

不好意思,刚看到,插件加载的问题已解决,是加载插件后管理后台登录的问题

8

不好意思老师,没注意之前的邮件,刚才才看到,按照您的说法,我可不可以理解为,现在的插件设计还是不太完善的,有一定的瑕疵?