Sitecore项目是空的

时间:2013-07-22 17:58:01

标签: sitecore sitecore6

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

我可以引用“常规用户”的项目,但不能引用“特殊用户”。这可能是权限问题吗?

注意:主数据库和Web数据库中都存在“特殊用户”项。

    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)

2 个答案:

答案 0 :(得分:4)

是可以是许可问题。 也许该用户没有项目的读取权限; 如果您想对您的商品拥有完全访问权限,请使用:

  // 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中的。

答案 1 :(得分:2)

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