1

在我的 DisplayViewWebPart 中,我有一部分代码需要保护,如果允许用户在特定页面上编写/创建内容,用户只会在页面上看到它。

这段代码在我的首页上运行:

protected override DataResultSet Result
{
    get
    {
        DataResultSet result = new DataResultSet();
        if (logic to check if user is allowed to write)
        {

        }
        result.Add(new DataResultRow());
        return result;
    }
}

用户必须有权访问的页面是。“ http://sites/domain/nyheder/Pages/Forms/AllItems.aspx

有人可以帮助我,因为我现在真的被困住了。谢谢

编辑

我试过这个,它似乎有效,但我不确定。

using (SPSite site = new SPSite("http://sp16/sites/domain/nyheder/Pages/Forms/AllItems.aspx"))
{
    using (SPWeb web = site.OpenWeb())
    {
        if (web.DoesUserHavePermissions(SPBasePermissions.EnumeratePermissions))
        {
            SPBasePermissions permissionToCheck = SPBasePermissions.ManageLists;

            SPUser user = web.CurrentUser;

            if (web.DoesUserHavePermissions(user.LoginName, permissionToCheck))
            {
                result.Add(new DataResultRow());
            }
        }
    }
}
4

0 回答 0