1
我已經在根門戶目錄上以編程方式在DotNetNuke中創建了一個文件夾。 我只想爲它分配權限一次,例如我想讓它只讀爲已驗證的用戶。有關如何使用C#或VB.NEt完成此任務的任何建議?如何在DotNetNuke中以編程方式創建文件夾併爲其分配權限?
謝謝。
我已經在根門戶目錄上以編程方式在DotNetNuke中創建了一個文件夾。 我只想爲它分配權限一次,例如我想讓它只讀爲已驗證的用戶。有關如何使用C#或VB.NEt完成此任務的任何建議?如何在DotNetNuke中以編程方式創建文件夾併爲其分配權限?
謝謝。
這是相當複雜和令人費解:
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
});
下面的代碼並沒有爲我的權限添加到數據庫中。
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);
這確實有點複雜,但你的回答使它更容易理解。非常感謝你。 – Fayde 2011-02-08 13:46:49