restful_authentication的site_key问题

本文记录了作者在使用restful_authentication进行应用部署时遇到的一个关于site_key变化导致密码失效的问题,并探讨了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

好久没来写东西了,最近项目太忙,也懒的写啥。不过今天花了两个小时解决了一个很无聊的问题,记一下。

restful_authentication是采用随机生成的site_key来加密密码,我们项目在开发过程中经常采用svn加capistrano来修改加部署,这样的话,每次部署后,为了图省事,我们一般用capistrano自动rake auth:gen:site_key,而此时生成的site_key已经不能算出上次项目布署时生成的密码(因为site_key不同了)。目前还没找到好的方法解决,可能只有手动去copy过来了。或者把老的copy到shared目录,后面部署时自动ln上去。

2025-03-17 10:13:54,82 ERROR [app.py:875] 2dc6edd3fa Exception on /console/api/login [POST] Traceback (most recent call last): File "e:\Dify\dify-main\.venv\Lib\site-packages\flask\app.py", line 917, in full_dispatch_request rv = self.dispatch_request() File "e:\Dify\dify-main\.venv\Lib\site-packages\flask\app.py", line 902, in dispatch_request return self.ensure_sync(self.view_functions[rule.endpoint])(**view_args) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^ File "e:\Dify\dify-main\.venv\Lib\site-packages\flask_restful\__init__.py", line 489, in wrapper resp = resource(*args, **kwargs) File "e:\Dify\dify-main\.venv\Lib\site-packages\flask\views.py", line 110, in view return current_app.ensure_sync(self.dispatch_request)(**kwargs) # type: ignore[no-any-return] ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^ resp = meth(*args, **kwargs) File "E:\Dify\dify-main\api\controllers\console\wraps.py", line 187, in decorated return view(*args, **kwargs) File "E:\Dify\dify-main\api\controllers\console\auth\login.py", line 54, in post is_login_error_rate_limit = AccountService.is_login_error_rate_limit(args["email"]) File "E:\Dify\dify-main\api\services\account_service.py", line 493, in is_login_error_rate_limit count = redis_client.get(key) File "e:\Dify\dify-main\.venv\Lib\site-packages\redis\commands\core.py", line 1822, in get return self.execute_command("GET", name, keys=[name]) ~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^ File "e:\Dify\dify-main\.venv\Lib\site-packages\redis\client.py", line 559, in execute_command return self._execute_command(*args, **options) ~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^ File "e:\Dify\dify-main\.venv\Lib\site-packages\redis\client.py", line 565, in _execute_command conn = self.connection or pool.get_connection(command_name, **options) ~~~~~~~
最新发布
03-18
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值