【问题标题】:Create a sitecore admin website创建一个站点核心管理网站
【发布时间】:2015-10-14 18:20:30
【问题描述】:

这里是一个站点核心新手。我们有一个使用 Sitecore 8 构建的现有网站。它存在于我们的生产环境中。我最近加入了公司,我的背景是后端 .NET 开发。我被要求编写一个实用模块,允许我们删除符合某些条件的注册用户。该网站为用户提供注册功能,注册用户存储在核心数据库中。我最初的想法是直接针对数据库,但很快了解到存储的数据是序列化的。我还考虑过编写一个 c# 控制台应用程序来执行此操作,但似乎有很多配置/设置步骤可以执行此操作,并且最好从 Web 应用程序执行此操作。有人对我如何设置一个简单的实用程序 Web 应用程序以连接到现有的 Sitecore 数据库有任何提示吗?我希望我以后会被要求添加更多功能/特性。

【问题讨论】:

  • 不能只在现有项目中工作吗?我想您可以在控制器中创建一个自定义操作并调用它。否则,您也可以安装 Item Web API 并使用 webrequests 与之对话。

标签: sitecore sitecore8 sitecore-mvc


【解决方案1】:

对于这样的管理功能,我很想使用 Sitecore Powershell 扩展:https://marketplace.sitecore.net/en/Modules/Sitecore_PowerShell_console.aspx

Get-User 命令可以将用户拉出系统: Get-User Documentation

PS master:\> Get-User -Filter "michaellwest@*.com"

Name                     Domain       IsAdministrator IsAuthenticated
----                     ------       --------------- ---------------
sitecore\michael         sitecore     False           False

然后你可以使用 Remove-User 删除它们:Remove-User Documentation

关于如何使用 SPE 有很多很棒的资源,它非常适合这类东西。

【讨论】:

  • 几个问题。 1. 使用 Get-User 命令时有没有办法返回自定义字段,即我想显示自定义字段“年龄”? 2. 如何使用自定义字段进行过滤?例如,我想返回所有“年龄”为 25 的用户并删除他们。
【解决方案2】:

据我了解,目标是能够删除某些用户。

最简单的方法是使用 Sitecore PowerShell 模块,但对于新手来说,这可能不是那么容易(而且您需要安装模块)。使用 PowerShell 模块,您甚至不需要创建用户界面。

Here is the documentation 如何在 PowerShell 中使用Remove-User

如果 PowerShell 选项不适合您,您可以从 利用 Sitecore API 的代码 中使用它,因此您的 Delete 方法如下所示:

    public void DeleteUser(string userName)
    {
        try
        {
            Sitecore.Security.Accounts.User user = Sitecore.Security.Accounts.User.FromName(userName, true);
            user.Delete();
        }
        catch (Exception ex)
        {
            Sitecore.Diagnostics.Log.Error(string.Format("Error in Client.Project.Security.UserMaintenance (DeleteUser): Message: {0}; Source:{1}", ex.Message, ex.Source), this);
        }            
    }

因此,您只需在迭代要删除的用户名时调用此方法。根据您将运行该代码的凭据,您可能需要使用 SecurityDisabler 对其进行包装以省略删除操作的权限检查:

using (new SecurityDisabler())
{
    // you code to delete here within using block
}

希望这会有所帮助!

【讨论】:

  • 嗨,Martin,我对使用 powershell 脚本感到很自在。请参阅上面我对 Richard 的问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多