python - 是否有任何功能可以在没有 API 调用的情况下在 CKAN 中执行登录操作
问题描述
who.ini
理想情况下,根据配置和代码在 CKAN 中登录的工作方式是:
[plugin:friendlyform]
use = ckan.lib.repoze_plugins.friendly_form:FriendlyFormPlugin
login_form_url= /user/login
login_handler_path = /login_generic
这里login_handler_path
负责登录,在 CKAN 的前端,它/login_generic
以name
用户名和password
.
现在我正在尝试创建一个插件,我试图通过插件本身(具有某些功能)登录,而无需用户通过前端的任何表单登录。
那么是否有任何我可以使用的帮助程序/操作功能,以便我可以在 CKAN 插件本身的幕后登录。
我的理解是 CKAN 使用一些repoze cookie / API Headers来识别用户是否登录。如果我在 python 代码中使用正常的 POST 请求,那么我将无法设置这些 cookie 或环境变量,如果我尝试手动执行,那么我担心它会破坏某些东西。
任何帮助深表感谢
解决方案
如果我正确理解了您的问题,我认为您应该尝试使用IAuthFunctions来覆盖 CKAN 的内置身份验证。此接口允许将自定义身份验证方法集成到 CKAN 中。
推荐阅读
- docker - Microsoft 映像的 Docker 注册表镜像不起作用
- javascript - 如何将对象字符串值更改为数字
- python - 通过 subprocess.Popen 或 subprocess.run 运行 cmake 命令
- asp.net - 创建新条目时从表单的最后一行填充数据
- c++ - 为什么操作系统正在更改我的数据包分配的传出端口?
- javascript - 带有javascript渲染问题的Django模板
- c++ - 删除指针后访问指针的值
- go - go get 返回 go: flag 需要一个参数:-mod
- reactjs - 问题 chrome 内容安全策略反应扩展清单
- c++ - 如何使用模板继承和组件