注:本文基于开源lsky pro V2版本,对于后续付费版本及早期版本可能不具有参考价值。
根据GIthub Issues评论,我们要做如下的事情:
注册新账号,然后进入数据库找到
users
数据表,将管理员账号的password
替换为新账号的password
。如果系统关闭了注册功能,需要进入
configs
数据表,找到name
为is_enable_registration
的那条数据,将value
改为数字 1,然后登录服务器终端,进入站点根目录执行命令php artisan cache:clear
,然后重复上述第一步的步骤。
对于使用面板直接通过Docker搭建的用户,这样的描述也许仍然不够清晰。恰好我就遇到了忘记密码的麻烦事,在网上也没有找到详细的指导(毕竟其实很简单),所以把修改的过程发出来。
首先,你需要一个链接并管理你数据库的软件。在这里,我选择直接在服务端部署pgadmin4来连接我的PostgreSQL数据库。
在安装界面,别忘了修改并妥善保存管理员邮箱及密码,稍后需要他们登入后台。
对了,如果安装了防火墙,也别忘了开放端口,默认为8080。
接下来,我们连接到自己的数据库。
“数据库”这里填你数据库的名称就好啦,然后点击connect,一切正常的话,你会看到如下界面。
聚焦到查询板块可以输入文字的区域,让我们首先开放注册;如果你本来就开放,可以跳过这个板块。
UPDATE configs
SET value = 1
WHERE name = 'is_enable_registration';
输入完成后,点击工具栏上的 “执行 / 刷新” 按钮(其图标为闪电形状),或者直接按下F5
键来执行这条 SQL 语句。
为了确认数据是否已成功修改,可以执行下面的查询语句:
SELECT * FROM configs WHERE name = 'is_enable_registration';
执行该查询后,查看返回的结果,确认value
字段的值是否为1
。
接下来,让我们刷新缓存。
以1Panel面板为例,让我们进入lsky容器的终端执行命令。
执行php artisan cache:clear
,若成功则应提示如下。
刷新你的图床/login页面,应该出现注册选项了,注册一个新账号。
接下来,假设你的旧管理员账户id为1,新管理员账户id为2——此处的id是为了定位并修改其密码,使用用户名也无妨。
首先执行SELECT * FROM users
获取所有账户的信息,从而确定你需要将哪个账户的密码替换。
以上述假设为例,执行如下代码:
UPDATE users
SET password = (SELECT password FROM users WHERE id = 2)
WHERE id = 1;
运行以下查询确认修改:
SELECT id, password FROM users WHERE id IN (1, 2);
如果发现两个password字段相同,则可以使用新注册账号的密码登录原来的管理员账号了。