Umbraco - 重置管理员密码

时间:2015-11-16 18:53:15

标签: umbraco7

有可能吗?我正在和Umbraco一起玩,上周启动它(刚启动并运行,除此之外没有做任何事情)到周一我忘记了密码。我看了here,但没有一个建议似乎有效。在此处将会员提供者更改为Clear

    <add name="UmbracoMembershipProvider" type="Umbraco.Web.Security.Providers.MembersMembershipProvider, Umbraco" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="8" useLegacyEncoding="true" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" defaultMemberTypeAlias="Member" passwordFormat="Hashed" />
    <add name="UsersMembershipProvider" type="Umbraco.Web.Security.Providers.UsersMembershipProvider, Umbraco" minRequiredNonalphanumericCharacters="0" minRequiredPasswordLength="8" useLegacyEncoding="true" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" passwordFormat="Hashed" />

如果我将UmbracoMembershipProvider更改为Clear,则似乎无法执行任何操作。如果我将UserMembershipProvider更改为Clear,那么整个网站都会中断(它会抱怨只有在设置为Hashed时才能使用带有ASP.NET标识的Umbraco。)

替换userPassword的所有建议哈希似乎都不起作用。将userPassword设置为空字符串不起作用,因为UI不允许空字符串作为密码,后端将检查它并抱怨。

有没有简单,万无一失的方法来重置该死的东西而不卸载并重新开始?

9 个答案:

答案 0 :(得分:8)

我们遇到此问题从第三方接收Umbraco安装但没有凭据。 这是针对Umbraco 7.6.1

•修改UsersMembershipProvider设置useLegacyEncoding =“true”在web.config中重启iis

  • 使用通常的脚本以旧方式设置管理员密码

    UPDATE umbracoUser set userdisabled = 0,userNoConsole = 0,userLogin ='admin',failedLoginAttempts = 0,userPassword ='bnWxWyFdCueCcKrqniYK9iAS + 7E ='where id = 0

•以admin / default

登录

•导航至管理员用户

•修改UsersMembershipProvider设置useLegacyEncoding =“false”然后重新启动iis

•CTRL-F5重新加载web.config(您仍然应该通过cookie登录)

•选择“更改密码”

•选中“重置密码”复选框

•单击“保存”

•您将看到一个带有新密码的绿色对话框

•将新密码复制到剪贴板

•再次点击“更改密码”

•粘贴到“当前密码”字段

•输入admin123456作为新密码

•输入admin123456作为确认密码

•单击“保存”

要检查重启iis,请以admin / admin123456

登录

答案 1 :(得分:4)

UPDATE umbracoUser set userdisabled=0, userLogin='admin', userPassword='bnWxWyFdCueCcKrqniYK9iAS+7E=' where id=0

哈希是&#34;默认&#34;没有引号

答案 2 :(得分:0)

您是否可以访问它指向的数据库?如果这样做,您可以通过这种方式重置密码。

UPDATE umbracoUser set userdisabled=0, userLogin='admin', userPassword='rboj46J1NSyvbZ5c7UI/5+m+Pcc=' where id=0

UPDATE umbracoUser set userdisabled=0, userLogin='admin', userPassword='default' where id=0

用户为admin且密码更新为default

答案 3 :(得分:0)

前几天我遇到了同样的问题。 bnWxWyFdCueCcKrqniYK9iAS+7E=应该是default的正确哈希。

将其插入数据库,重新启动应用程序(您只需下载,然后在根目录下载web.config),现在使用您的用户名和default作为密码登录。

当您登录时,您可以更改密码,一切都应该没问题。 :)

我希望它有所帮助!

答案 4 :(得分:0)

对于无法使用上述步骤解决此问题的所有人,您可以执行的操作是从另一个Umbraco.sdf数据库文件中复制密码,并将其粘贴到新站点Umbraco.sdf文件中的当前密码上。然后使用该密码登录。您可能必须清除缓存并重新加载网站。

答案 5 :(得分:0)

有时您还需要更新列 lastLockoutDate ,数据库中的此手动更新才能正常工作。

尝试以下查询将 admin 用户的密码更新为默认

UPDATE [dbo].umbracoUser set userdisabled=0, userLogin='admin', userPassword='bnWxWyFdCueCcKrqniYK9iAS+7E=', lastLockoutDate = null where id=0;

答案 6 :(得分:0)

对于Umbraco 8,我遵循了 Bunkerbuster 的上述回答,但仍然存在问题。

我发现我必须在临时/虚拟站点的Web.config和忘记密码的站点Web.config之间同步machineKey设置。

配置块如下:

 <machineKey validationKey="xxx"
             decryptionKey="xxx"
             validation="HMACSHA256"
             decryption="AES" />

答案 7 :(得分:0)

对于Umbraco 7-8,创建一个如下的类:

"<your_es_host_name>:9200/_cat/indices?s=index&h=index | grep -v exclude_index"

答案 8 :(得分:-1)

适用于Umbraco 8或更高版本或任何其他版本。

在Visual Studio中创建一个新项目,安装所需版本的umbraco(与原始项目相同)(使用nuget)。

进行所需的数据库类型和版本(与丢失帐户的数据库相同)的设置。这次,写下您要使用的凭据。

基本安装后,转到表[DATABASENAME]。[dbo]。[umbracoUser],并使用新数据库的信息创建帐户的更新查询。

UPDATE umbracoUser 
set userdisabled=0, 
    userNoConsole=0, 
    userEmail='admin@admin.com', 
    userLogin='admin@admin.com',
    failedLoginAttempts=0,  
    userPassword='[COPY HASHED PASSWORD]',
    securityStampToken = '[COPY securityStampToken]'   
where id=-1 -- for version 8.* it is -1

现在您无需停止,重置或更改原始项目即可登录到项目