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