1

SSOM でプログラム可能なサイトのアクセス許可を持つ現在のユーザーを確認したい。

Visual Studio 2013 でコンソール アプリケーションを作成しました。

しかし、ある SharePoint ファームで面白い結果が得られました。

「サイト コレクション機能」セクションで、「SharePoint Server Publishing Infrastructure」を有効にしました。

この状況では、SharePoint グループ "Style Resource Readers" が作成され、"Everyone" が含まれています。次に、「サイト許可なし」のユーザーに対してこのプログラムを試しました。

        string url1 = "http://ServerName/sites/SiteCol1";
        string userName = "i:0#.w|domainname\\username";

        try
        {


            SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    Console.WriteLine("Privilages");

                    using (SPSite oSIte = new SPSite(url1))
                    {
                        using(SPWeb web1 = oSIte.OpenWeb())
                        {
                            Console.WriteLine("checkpermissiion");
                            Console.WriteLine(web1.GetUserEffectivePermissions(userName));
                       }
                    }
                }
                );
       }
        catch (UnauthorizedAccessException ex)
        {
          console.writeline(ex.message);
        }
        catch (Exception ex)
        {

            Console.WriteLine("Catch Exception");
            Console.WriteLine(ex.Message);
        }
        finally
        {
            /
            SPSecurity.CatchAccessDeniedException = true;
        }

4 つのファームすべてで、3 つのファームが "Open" を返します。この原因は、Style Resource Readers に「Everyone」が含まれているためだと思います。

しかし、1 農場は許可を返さなかった。

私の質問です。同じコード、同じソリューションで、結果が異なるのはなぜですか?

なので、この事件を知っている人がいたら教えてください。

4

0 に答える 0