Skip to main content
A newer version of this page is available. .
Tab

FileSystemProviderBase.GetFolderPermissions(FileManagerFolder) Method

Obtains the File Manager’s folder permissions.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v18.2.dll

Declaration

public virtual FileManagerFolderPermissions GetFolderPermissions(
    FileManagerFolder folder
)

Parameters

Name Type Description
folder FileManagerFolder

A FileManagerFolder object representing the folder.

Returns

Type Description
FileManagerFolderPermissions

A FileManagerFolderPermissions object representing the folder permissions.

Remarks

Refer to the Permissions topic to get more information on using the File Manager permissions.

Example

The following example illustrates how to specify permissions for files and folders within the ASPxFileManager.

Note

A complete sample project demonstrating this approach in action is available in the DevExpress Code Examples database at ASPxFileManager - How to implement a custom FileSystem provider and set required permissions to files or folders.

public override FileManagerFilePermissions GetFilePermissions(FileManagerFile file) {
    int fileId = int.Parse(file.Id);
    Permissions permissions = Data.PermissionsSet.FirstOrDefault(p => p.Item.Id == fileId);
    if(permissions == null)
        return FileManagerFilePermissions.Default;
    return GetFilePermissionsInternal(permissions);
}

public override FileManagerFolderPermissions GetFolderPermissions(FileManagerFolder folder) {
    if(string.IsNullOrEmpty(folder.RelativeName))
        return FileManagerFolderPermissions.Default;
    int folderId = int.Parse(folder.Id);
    Permissions permissions = Data.PermissionsSet.FirstOrDefault(p => p.Item.Id == folderId);
    if(permissions == null)
        return FileManagerFolderPermissions.Default;
    return GetFolderPermissionsInternal(permissions);
}

FileManagerFilePermissions GetFilePermissionsInternal(Permissions permissions) {
    return (permissions.Delete ? FileManagerFilePermissions.Delete : FileManagerFilePermissions.Default)
        | (permissions.Move ? FileManagerFilePermissions.Move : FileManagerFilePermissions.Default)
        | (permissions.Copy ? FileManagerFilePermissions.Copy : FileManagerFilePermissions.Default)
        | (permissions.Rename ? FileManagerFilePermissions.Rename : FileManagerFilePermissions.Default)
        | (permissions.Download ? FileManagerFilePermissions.Download : FileManagerFilePermissions.Default);
}

FileManagerFolderPermissions GetFolderPermissionsInternal(Permissions permissions) {
    return (permissions.Delete ? FileManagerFolderPermissions.Delete : FileManagerFolderPermissions.Default)
        | (permissions.Move ? FileManagerFolderPermissions.Move : FileManagerFolderPermissions.Default)
        | (permissions.Copy ? FileManagerFolderPermissions.Copy : FileManagerFolderPermissions.Default)
        | (permissions.Rename ? FileManagerFolderPermissions.Rename : FileManagerFolderPermissions.Default)
        | (permissions.Create ? FileManagerFolderPermissions.Create : FileManagerFolderPermissions.Default)
        | (permissions.Upload ? FileManagerFolderPermissions.Upload : FileManagerFolderPermissions.Default)
        | (permissions.MoveOrCopyInto ? FileManagerFolderPermissions.MoveOrCopyInto : FileManagerFolderPermissions.Default);
}
See Also