永久修改EA密码
-- 设置密码123456:
update Base_User set Password=upper(substring(sys.fn_VarBinToHexStr(hashbytes('MD5', CAST('zgv9FQWbaNZ2iIhNej0+jA==' as varchar(50)) + convert(char(36),base_user.salt))),3,32))
where Code = 'EA'
临时修改EA密码
备份原密码并修改为 123456
-- 1. 安全检查:如果之前残留了备份表,先将其删除
IF OBJECT_ID('Base_User_Backup', 'U') IS NOT NULL
DROP TABLE Base_User_Backup;
-- 2. 备份 EA 用户当前的原密码到物理表 Base_User_Backup 中
SELECT Code, Password
INTO Base_User_Backup
FROM Base_User
WHERE Code = 'EA';
-- 3. 将密码修改为 123456
UPDATE Base_User
SET Password = UPPER(SUBSTRING(sys.fn_VarBinToHexStr(HASHBYTES('MD5', CAST('zgv9FQWbaNZ2iIhNej0+jA==' AS VARCHAR(50)) + CONVERT(CHAR(36), Base_User.Salt))), 3, 32))
WHERE Code = 'EA';
-- 4. 验证:查询修改后的临时密码和备份表中的原密码
SELECT '当前用户表' AS Source, Code, Password FROM Base_User WHERE Code = 'EA'
UNION ALL
SELECT '备份表' AS Source, Code, Password FROM Base_User_Backup;
测试完毕后,还原原密码
-- 1. 安全检查:确保备份表存在,防止误操作
IF OBJECT_ID('Base_User_Backup', 'U') IS NOT NULL
BEGIN
-- 2. 从备份表中恢复原密码
UPDATE u
SET u.Password = b.Password
FROM Base_User u
INNER JOIN Base_User_Backup b ON u.Code = b.Code
WHERE u.Code = 'EA';
-- 3. 还原成功后,删除物理备份表,不留垃圾数据
DROP TABLE Base_User_Backup;
PRINT '密码还原成功,备份表已清理!';
END
ELSE
BEGIN
PRINT '未找到备份表 Base_User_Backup,可能已经还原过,或未运行第一步备份。';
END
-- 4. 验证:查询还原后的密码
SELECT Code, Password FROM Base_User WHERE Code = 'EA';
启用用户
-- 启用用户
update Base_User set IsAlive=1 where code='adminwc'
修改密码为空
UPDATE Base_User SET
Password = UPPER(SUBSTRING(sys.fn_VarBinToHexStr(HASHBYTES('MD5', CAST('1B2M2Y8AsgTpgAmY7PhCfg==' AS VARCHAR(50)) + CONVERT(CHAR(36), base_user.salt))), 3, 32))
WHERE Code = 'admin';
如果是比较旧的U9版本
一般执行上面的语句会报salt字段不存在
update Base_User set Password='1B2M2Y8AsgTpgAmY7PhCfg==' where Code='admin'
如果启用了MFA
UPDATE Base_Profile SET DefaultValue='False' WHERE Code='IsEnableMFA'
DELETE Base_ProfileValue WHERE Profile=(SELECT ID FROM Base_Profile WHERE Code='IsEnableMFA')
评论