1

SharePoint 2010 で作業しています。私の要件は、SharePoint レイアウト内にフォルダーを作成し、そのフォルダー内にファイルを作成することです。また、現在ログインしているユーザーのファイルにアクセスする必要があります。

レイアウト -> ファイル -> file1.txt。

以下のコードを確認してください。

String tempFilePath = SPUtility.GetGenericSetupPath(String.Empty) + "TEMPLATE\\LAYOUTS\\Files";         

DirectorySecurity securityRules = new DirectorySecurity();
securityRules.AddAccessRule(new FileSystemAccessRule(strUserName, FileSystemRights.FullControl, AccessControlType.Allow));
bool IsExist = System.IO.Directory.Exists(v);

if (!IsExist )
System.IO.Directory.CreateDirectory(tempFilePath ,securityRules); 

上記のコードで、strUserName が Administrator の場合、ディレクトリ (ファイル) は正常に作成されます。ただし、管理者アカウント以外の場合、CreateDirectory は失敗します (パスへのアクセスが拒否されます)。完全な権限を持つすべてのユーザーに対して、sharppoint レイアウトでフォルダーを作成する方法を誰か教えてもらえますか?

4

1 に答える 1

0

SPSecurity.RunWithElevatedPrivilegesを使用して、ログインしている他のユーザーのコードも作成します。

例については、以下のリンクを確認してください

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx

于 2012-12-24T12:00:23.140 に答える