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

FileManagerFile.Permissions Property

Provides a set of permissions for the File Manager’s file.

Namespace: DevExpress.Web

Assembly: DevExpress.Web.v18.2.dll

Declaration

public FileManagerFilePermissions Permissions { get; }

Property Value

Type Description
FileManagerFilePermissions

One of the FileManagerFilePermissions values.

Available values:

Name Description
Default

No permissions are specified for the file. Access permissions for the file are specified by the FileManagerSettingsPermissions.AccessRules property.

Rename

Permits renaming a file.

Move

Permits moving a file.

Copy

Permits copying a file.

Delete

Permits deleting a file.

Download

Permits downloading a file.

Remarks

To set the file permissions, use the FileManagerFileProperties.Permissions property.

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