这里有个sitecore新手。我们有一个现有的网站,它是使用Sitecore 8构建的。它在我们的生产环境中是实时的。我最近加入了这家公司,我的背景是后端.NET开发。我被要求编写一个实用程序模块,允许我们删除符合特定标准的注册用户。该网站为用户提供注册的能力,注册的用户存储在核心数据库中。我最初的想法是直接使用DB,但很快就发现存储的数据是序列化的。我也想过写一个c#控制台应用程序来做这件事,但似乎有很多配置/设置步骤可以做到这一点,而且从web应用程序来做会更好。有没有人有关于如何设置一个简单实用的web应用程序来连接到现有Sitecore数据库的建议?我希望将来会有人要求我添加更多的功能/特性。
发布于 2015-10-15 02:52:04
对于这样的管理功能,我很想使用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的很好的资源,它对于这样的东西很棒。
发布于 2015-10-15 02:49:16
据我所知,目标是能够删除某些用户。
要做到这一点,最简单的方法是使用Sitecore PowerShell模块,但对于初学者来说,这可能并不容易(并且您需要安装模块)。有了PowerShell模块,你甚至不需要创建用户界面。
如何在PowerShell中使用Remove-User
如果删除选项对您不起作用,您可以在利用Sitecore API的代码中使用该选项,因此您的PowerShell方法将如下所示:
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
}希望这能有所帮助!
https://stackoverflow.com/questions/33132791
复制相似问题