2012-07-12 99 views
1

我需要重置Sitecore 5.3安装中的管理员密码 - 任何想法我可以做到这一点?目前我无法访问后端,因为密码已更改,但没有人记得。在Sitecore 5.3中重置管理员密码?

安全数据库中没有任何信息不能被覆盖,因此任何选项都打开。我可以直接访问数据库(SQL)。

+0

我不知道什么5.3结构看起来像,但我使用此代码在6.2中完成。也许它是有用的?也许它不是。 System.Web.Security.MembershipUser user = System.Web.Security.Membership.GetUser(@“sitecore \ Admin”);如果(user!= null) { string pw = user.ResetPassword(); – 2012-07-12 19:12:36

+0

没有运气,但thx的建议:) – brother 2012-07-12 19:40:12

+1

我建议打开一个Sitecore支持请求。他们可以帮助你。 – Bryan 2012-07-12 21:00:54

回答

1

我没有5.3运行的实例,所以我不知道这是否会完全适用于5.3,但这里是我的建议。

有一两件事你可以尝试被复制在核心数据库aspnet_Membership表的PassowrdPasswordSalt字段的值,其密码你知道和粘贴这些值在相应字段用户用于用户。

aspnet_Membership表只存储管理员用户的ID。要获取您的管理员用户的ID,您需要查询aspnet_Users表,其中用户名为admin。在aspnet_Users表中获取admin用户的ID,然后在aspnet_Membership表中查询该ID,使用来自其他用户密码的知识更新Password和PasswordSalt字段,然后尝试使用该用户的密码重新登录。

+0

Core数据库中没有这样的表。 V 5.3和V6不具有相同的安全结构。 v53是否使用apnet_Memebership? – brother 2012-07-12 18:35:57

+1

这仅适用于v6。在v5.3中,用户被存储为Sitecore项目。尽管如此,你也许可以使用类似的策略。 – Bryan 2012-07-12 21:00:14

0

重置'admin'密码并将其更改为'b'。只需在核心数据库上执行提供的SQL脚本,就非常简单:

UPDATE [aspnet_Membership] SET Password='qOvF8m8F2IcWMvfOBjJYHmfLABc=' 
WHERE UserId IN (SELECT UserId FROM [aspnet_Users] WHERE UserName = 'sitecore\Admin') 
0

警告(Sitecore 6.x)!

执行下面的脚本(感谢苛刻Baid)后

UPDATE [aspnet_Membership] SET Password='qOvF8m8F2IcWMvfOBjJYHmfLABc=' 
WHERE UserId IN (SELECT UserId FROM [aspnet_Users] WHERE UserName = 'sitecore\Admin') 

不要忘记执行类似的脚本盐:

UPDATE [aspnet_Membership] SET PasswordSalt='OM5gu45RQuJ76itRvkSPFw==' 
WHERE UserId IN (SELECT UserId FROM [aspnet_Users] WHERE UserName = 'sitecore\Admin') 

而对于用户批准

UPDATE [aspnet_Membership] SET IsApproved=1 
WHERE UserId IN (SELECT UserId FROM [aspnet_Users] WHERE UserName = 'sitecore\Admin')