1

我正在尝试引用 Sitecore 中的一个项目。在我的代码中,MyItem1为 {12345ABC-4784-4869-AD80-D90B07350835}返回Null 。

我可以为“普通用户”引用该项目,但不能为“特殊用户”引用该项目。这可能是权限问题吗?

注意:“特殊用户”项存在于主数据库和网络数据库中。

    Dim SCDataItemValue As String = ""
    Dim ADGroupValue As String = ""

    If Not Request.QueryString("type") Is Nothing AndAlso Request.QueryString("type").ToString.ToLower.Trim = "special" Then
        'Get values for Special User.
        SCDataItemValue = "{12345ABC-4784-4869-AD80-D90B07350835}"
        ADGroupValue = "GroupAccess_Special"
    Else
        'Regular User.
        SCDataItemValue = "{1911A077-2E41-4CAB-ADAC-1911A077EB62}"
        ADGroupValue = "GroupAccess"
    End If

    Dim scItemID As New Sitecore.Data.ID(SCDataItemValue)
    Dim MyItem1 As Sitecore.Data.Items.Item = Sitecore.Context.Database.GetItem(scItemID)
4

2 回答 2

4

是的可能是权限问题。也许该用户没有 item 的读取权限;如果您想对您的物品进行完全访问控制,请使用:

  // The SecurityDisabler overrides the current security model, allowing you
 // to access the item without any security. It's like the user being an administrator

 using (new Sitecore.SecurityModel.SecurityDisabler())
        {
  Dim scItemID As New Sitecore.Data.ID(SCDataItemValue)
  Dim MyItem1 As Sitecore.Data.Items.Item = Sitecore.Context.Database.GetItem(scItemID)
        }

我不知道代码在 Visual Basic 中到底是怎样的。

于 2013-07-22T18:35:48.093 回答
2

sitecore Climber 说这是一个安全问题可能是正确的。尝试使用“访问查看器”(Sitecore > 安全工具 > 访问查看器)查看您的用户是否具有对相关项目的读取权限。提示:在访问查看器中,从“用户”块中选择用户/角色。

于 2013-07-22T21:47:09.020 回答