2011-02-07 75 views

回答

4

這是相當複雜和令人費解:

var folderController = new FolderController(); 
var folderId = 
    folderController.AddFolder(
     new FolderInfo(
      portalId, 
      folderName, 
      (int)FolderController.StorageLocationTypes.InsecureFileSystem, 
      isProtected: false, 
      isCached: false, 
      lastUpdated: Null.NullDate)); 
var folder = folderController.GetFolderInfo(portalId, folderId); 
Directory.CreateDirectory(folder.PhysicalPath); 

var permissionController = new PermissionController(); 
var writePermission = permissionController.GetPermissionByCodeAndKey("SYSTEM_FOLDER", "WRITE").Cast<PermissionInfo>().Single(); 
var registeredUserRole = new RoleController().GetRoleByName(folder.PortalID, "Registered Users"); 
folder.FolderPermissions.Add(new FolderPermissionInfo 
    { 
     FolderID = folder.FolderID, 
     PermissionID = writePermission.PermissionID, 
     RoleID = registeredUserRole.RoleID, 
     UserID = Null.NullInteger, 
     PermissionKey = writePermission.PermissionKey, 
     AllowAccess = false 
    }); 
+0

這確實有點複雜,但你的回答使它更容易理解。非常感謝你。 – Fayde 2011-02-08 13:46:49

0

下面的代碼並沒有爲我的權限添加到數據庫中。

folder.FolderPermissions.Add(new FolderPermissionInfo 
{ 
    FolderID = folder.FolderID, 
    PermissionID = writePermission.PermissionID, 
    RoleID = registeredUserRole.RoleID, 
    UserID = Null.NullInteger, 
    PermissionKey = writePermission.PermissionKey, 
    AllowAccess = false 
}); 

我不得不使用:

FolderManager.Instance.SetFolderPermission(folder, 6, registeredUserRole.RoleID); 
  • 夾= FolderInfo
  • 6 =該許可ID,在這種情況下寫(這也將增加 權限:視圖/瀏覽) 。
  • registeredUserRole.RoleID =您要授予文件夾 權限的角色。
相關問題