Exemple #1
0
        internal FileShare GetFileShare(FileEntry file, int projectId)
        {
            var fileSecurity  = securityAdapterProvider.GetFileSecurity(projectId);
            var currentUserId = SecurityContext.CurrentAccount.ID;

            if (!fileSecurity.CanRead(file, currentUserId))
            {
                return(FileShare.Restrict);
            }
            if (!fileSecurity.CanCreate(file, currentUserId) || !fileSecurity.CanEdit(file, currentUserId))
            {
                return(FileShare.Read);
            }
            if (!fileSecurity.CanDelete(file, currentUserId))
            {
                return(FileShare.ReadWrite);
            }

            return(FileShare.None);
        }
Exemple #2
0
 private IFileSecurity GetFileSecurity(int projectId)
 {
     return(securityAdapterProvider.GetFileSecurity(projectId));
 }