Alfresco社区版4.2管理员密码丢失,修改无效求助
Alfresco社区版4.2管理员密码重置方案(非LDAP账号)
为什么之前的方法无效?
- 直接修改数据库
alf_user表的password字段无效:Alfresco 4.2的密码采用加密存储(默认MD5加盐),明文无法被系统识别。 - 修改
alfresco-global.properties未生效:可能是未添加完整的覆盖参数,或未重启服务生效。
可行方案一:通过配置文件临时覆盖密码(推荐)
停止Alfresco服务
关闭所有Alfresco相关进程(包括Tomcat、数据库等),避免配置冲突。修改
alfresco-global.properties
在配置文件末尾添加以下参数:authentication.override.password=true authentication.override.username=admin authentication.override.password.value=你的新密码保存配置文件。
启动Alfresco服务
启动后使用admin+设置的新密码登录系统。恢复正常配置(必做)
登录成功后,进入系统用户管理界面,重置admin账号的密码。随后删除配置文件中添加的三个authentication.override.*参数,重启服务确保后续使用正常密码验证。
可行方案二:直接更新数据库加密密码
如果不想修改配置文件,可以生成Alfresco兼容的加密密码,替换数据库中的值:
生成加密密码
使用Alfresco自带的PasswordEncoder工具生成加密字符串,示例Java代码:import org.alfresco.util.PasswordEncoder; import org.alfresco.util.PasswordEncoderImpl; public class AlfrescoPasswordGenerator { public static void main(String[] args) { PasswordEncoder encoder = new PasswordEncoderImpl(); // 替换为你的新密码 String rawPassword = "new_admin_pass"; String encodedPassword = encoder.encode(rawPassword); System.out.println(encodedPassword); } }编译运行后得到类似
{MD5}xxxxxx格式的加密字符串。更新数据库
登录Alfresco数据库,执行SQL语句:UPDATE alf_user SET password = '生成的加密字符串' WHERE user_name = 'admin';重启Alfresco服务
重启后即可用新密码登录。
内容的提问来源于stack exchange,提问作者Mustapha Ghannouchi
相关产品推荐
相关产品推荐

