redash邮件重置密码BUG解决方法

redash是一个比较少见的开源BI工具,由于其web框架使用的是Flask,所以其源码结构和内容还是相对容易看懂。今天在测试其重置密码功能时发现一个BUG,使得我在点击重置密码邮件中的链接时,总是会出现以下提示:

属实烦人。意思大概是你已经接受了邀请,请尝试重置您的密码。WTF???难道我现在不是在重置我的密码吗??但是尝试管理员账号之后发现管理员账号并不会触发这个BUG(管理员创建账号时并不需要被邀请)。想来必定是有一个字段记录了我在创建账号时候已经被邀请,继而阻止了我重置密码。

查看源码之后,我们在models的users模型中找到了该字段:

is_invitation_pending = json_cast_property(db.Boolean(True), 'details', 'is_invitation_pending', default=False)

找出重置密码所调用的函数来跳过检查这个字段的值固然是最靠谱、最简单的做法,但是小弟属实无能,其代码是在前端用js框架写的,实在是无从下手,于是我想到更改数据库值的方法来实现BUG的解决。

redash的数据库使用的是postgres,其基本语法与mysql出入不大,但是进入数据库还是比较新奇的,需要切换用户然后执行psql。postgres依然可以在命令行通过-c的形式直接执行psql语句。由于我使用docker启动redash,所以我进入docker容器,为其写了一个脚本,大体内容如下:

psql -U postgres -c "update users set details = '{}'"

-U指定postgres用户 -c 接命令
由于在redash的容器中,切换到postgres用户是无法创建文件的,而且我们需要为创建的脚本赋予执行权限并把拥有者切换到postgres以避免执行权限问题。
命令如下:

chown postgres ./脚本.sh
chmod 777 ./脚本.sh

接下来切换到宿主机,执行docker exec -it 容器ID /bin/sh 脚本.sh

然后进入容器查看users表的detail字段,你会发现其已被更改为json类型的"{}"

之后你便可以使用重置密码功能。

但是当你重置密码之后,其字段又会变为false,又会触发此BUG。
我的解决方法是将宿主机执行的命令放到azkaban上,进行定时执行,时间间隔间隔的短一点。
方法愚笨,仅供参考。
以上。

redash重置密码BUG解决相关推荐

  1. 虚拟化服务器怎么重设密码,VMware Esxi忘记root密码重置密码的解决方法

    先将刻录一个CentOS6的启动光盘或U盘,并将服务器的启动项修改为U盘 将服务器开机之后会从U盘进行启动,启动后按照图示选择救援模式 进入到了CentOS的救援模式,将要开始对VMware esxi ...

  2. 重置密码遇到ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using passwor:yes)问题

    Mysql重置密码,解决ERROR 1045 (28000)错误的方法 </div> 一般这个错误是由密码错误引起,解决的办法自然就是重置密码. 假设我们使用的是root账户. 1.重置密 ...

  3. php qq邮箱找回密码,重要!解决QQ邮箱用户重置密码链接无效的问题

    摘要 WORDPRESS邮箱QQ链接多出&符号的解决办法.导致PC电脑用户不能正常修改密码 WORDPRESS邮箱QQ链接转义&成了&符号的解决办法.导致PC电脑用户不能正常修 ...

  4. mysql user表 空_mysql 忘记密码,重置密码,mysql.user表为空的解决办法

    一.用户表有用户,直接修改密码 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) ...

  5. 怎么重置blockinput的锁_OPPOA9锁屏密码忘了怎么办? OPPO忘记锁屏密码的解决办法...

    看点:iPhone X原装屏与国产屏有哪些区别? 看点:换7P.8P屏幕:C11和DTP和DKH的区别 狮淘:不锈钢拆机片5个只需9.9元!包邮!每天10名 OPPOA9锁屏密码忘了怎么办?OPPO ...

  6. Linux重置Mysql密码_解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost

    Linux重置Mysql密码 一般这个错误是由密码错误引起,解决的办法自然就是重置密码. 假设我们使用的是root账户. 1.重置密码的第一步就是跳过MySQL的密码认证过程,方法如下: #vim / ...

  7. php 邮箱重置密码错误,discuz邮箱重置密码参数失败的解决方法

    小编通过分析了下会员获取密码的文件可能存在问题,小编又查阅了些资料找到了解决问题的方法.,下面我们提供下邮箱重置密码参数失败的解决方法,如果有最新版本没有发现这个问题的,就可以不做处理., ,1.修改 ...

  8. Linux工作笔记-重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (usi

    原博文地址: https://blog.csdn.net/mrs_haining/article/details/78953259 注意了:安装Linux后默认带的Mysql也会有这样的问题! 一般这 ...

  9. 重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor

    重置密码解决MySQL for Linux错误 ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using passwor ...

最新文章

  1. C# Application.DoEvents() 处理队列消息,防界面假死。
  2. node debug包
  3. 360的困兽之斗——重新探讨奇虎商业模式
  4. BI推荐8款优秀的app
  5. iOS: Crash文件解析
  6. cbc cryptojs 前后端_前端CryptoJS AES/DES加解密与后端PHP AES/DES加解密
  7. 独立版Jexus配置SSL,支持https访问
  8. 设计模式 工厂方法_工厂设计模式–一种有效的方法
  9. Linux: 两个USB摄像头的数据采集问题
  10. 0923接口——练习题作业
  11. uva 10816 Travel in Desert(简单的好题~两种方法)
  12. ARC075 F.Mirrored
  13. 空指针、NULL指针、零指针
  14. Excel判断身份证号码数据的第17或15位数字的奇偶性决定男女性别
  15. 拯救者Y7000 2020新版Bios关闭开机自检
  16. 背景图片虚化的效果的css样式的实现
  17. 【爱生活之咖啡】咖啡入坑记--咖啡豆的那些事
  18. (转)理论经典:TCP协议的3次握手与4次挥手过程详解
  19. [GitHub][2014-05-11 18:34:13]eqq-python
  20. 中国移动打造“移动信息专家”

热门文章

  1. python for loop循环程序语句_Python for 循环语句
  2. 天地伟业tiandy如何连手机_天地盖手工盒裱纸选铜版纸还是白牛皮纸?
  3. win7连接xp远程桌面
  4. mysql中主键约束如何关闭_mysql怎么去除主键约束
  5. 标准md语法教程- Markdown从入门到精通(上)
  6. Office界面的发展历程(多图)
  7. Kuberneters(2)- Pod详解
  8. 时间戳转为年月日时分秒格式, 日期时间比较
  9. 【C++演示】编程语言的true、false和1、0之间的相互转化
  10. Android-技术的下半场,Android开发者出路在哪