本地还原Sitefinity数据库副本后无法登录后端的相关问题咨询
Sitefinity 还原数据库后无法登录后端解决方案
关于默认凭据的说明
Sitefinity 不存在通用的默认管理员凭据,所有初始管理员账号都由首次部署该实例的人员自行设置。你还原的是其他环境的数据库副本,库内仅存储原环境的用户信息,因此你本地创建的账号不存在属于正常情况。
可行的登录解决方法
你可以选择以下任意一种方法获取后端登录权限:
- 直接修改数据库重置已有管理员密码
打开还原后的Sitefinity数据库,找到sf_users表,筛选user_type为0(管理员类型)的记录,选择其中一个账号,将你已知密码的其他Sitefinity实例的用户密码哈希值复制到该账号的password字段,同时将is_locked设为0、is_approved设为1,保存后即可用对应密码登录该账号。 - 临时添加代码创建新管理员账号
本地开发环境可以在项目的Global.asax.cs文件的Application_Start方法中加入以下临时代码,运行一次项目后即可生成新的管理员账号,登录成功后记得删除这段代码:using Telerik.Sitefinity.Security; using Telerik.Sitefinity.Security.Model; // 在Application_Start内添加如下逻辑 UserManager userManager = UserManager.GetManager(); RoleManager roleManager = RoleManager.GetManager(); if (userManager.GetUserByName("自定义管理员用户名") == null) { User adminUser = userManager.CreateUser("自定义管理员用户名", "自定义登录密码", "绑定邮箱", "安全问题", "安全问题答案", true, null, out _); userManager.SaveChanges(); Role adminRole = roleManager.GetRoleByName("Administrators"); roleManager.AddUserToRole(adminUser, adminRole); roleManager.SaveChanges(); }
关于跳过登录/移除登录页的说明
不支持直接跳过登录环节或者移除后端登录页。Sitefinity 后端所有接口和页面都绑定了权限校验逻辑,就算强制修改路由绕过登录页,后续所有操作都会因为没有身份凭证报错,没有实际使用价值,不建议做相关尝试。
内容的提问来源于stack exchange,提问作者Ruchi Gupta
相关产品推荐
相关产品推荐

