.NET国产化改造探索(七)、更改大金仓数据库认证方式

随着时代的发展以及近年来信创工作和…废话就不多说了,这个系列就是为.NET遇到国产化需求的一个闭坑系列。接下来,看操作。

之前安装人大金仓数据库的时候,连接数据库所使用的加密方式选择的是scram-sm3,权限管理框架的ORM使用的是SqlSugar,而SqlSugar连接数据库加密方式目前仅支持scram-sha-256 ,所以就要修改人大金仓数据库的加密方式了。

查看目前加密方式

在数据库安装目录的data目录下,有一个名为cat sys_hba.conf 的文件,此文件中配置了当前认证方式,如下图
在这里插入图片描述

更改认证方式

第一步

编辑{数据库安装目录}/data/kingbase.conf文件,将加密方式从scram-sm3 改为scram-sha-256

在这里插入图片描述

第二步,登录数据库,重新加载配置。

切换用户

su kingbase

进入{数据库安装目录}/ Server/bin,登录数据库

 ./ksql -U system -d AdminDemo

登录数据库后,查看当前认证配置。

show password_encryption;

显示为scram-sm3,使用下面的命令,重载配置

select pg_reload_conf();

再次查看,已经变为第一步设置的scram-sha-256了。
blog.csdnimg.cn/direct/e253cf70146042aeb00edfe99abdd899.png)

第三步

修改用户口令,使用下面的命令,查询目前数据库中的用户。

select * from sys_user;

在这里插入图片描述

使用下面的命令,修改system用户的口令

alter user system password '你要设置的密码';

数据库会以密文的方式将用户的密码保存在表sys_authid中,用户密码的开头有包含密码加密方式的信息。使用下面的命令,查看用户口令的设置情况

select rolname,rolpassword from sys_authid where rolpassword != ' ';

在这里插入图片描述

如图中sso用户的密码开头是“SCRAM-SM3”,system用户密码开头是“ SCRAM-SHA-256”,同时密码也是以对应方式进行的加密,所以更换密码加密方式后一定要更新用户密码,否则在认证时密码无法对应上。

第四步

sys_hba.conf中将认证方法说明改为scram-sha-256。退出并重启动数据库,完成修改。

备注:

在数据库安装目录,执行下面的命令停止数据库运行

Server/bin/sys_ctl -D data/ stop

执行下面的命令启动数据库

Server/bin/sys_ctl -D data/ start

执行下面的命令重启数据库

Server/bin/sys_ctl -D data/ restart

执行下面的命令,退出数据库管理

\q

至此,数据库更改加密方式完成了,重新运行项目,已经可以正常连接到数据库了
在这里插入图片描述
sdf