webdav portal group permission fix
added logout button
This commit is contained in:
parent
2ec10f6988
commit
e4785dabca
8 changed files with 75 additions and 9 deletions
|
@ -40,7 +40,7 @@ namespace WebsitePanel.WebDavPortal.Models
|
|||
_itemId = itemId;
|
||||
IKernel _kernel = new StandardKernel(new NinjectSettings { AllowNullInjection = true }, new WebDavExplorerAppModule());
|
||||
var accountModel = _kernel.Get<AccountModel>();
|
||||
_rootFolders = ConnectToWebDavServer(accountModel.UserName);
|
||||
_rootFolders = ConnectToWebDavServer(accountModel);
|
||||
|
||||
if (_rootFolders.Any())
|
||||
{
|
||||
|
@ -126,14 +126,22 @@ namespace WebsitePanel.WebDavPortal.Models
|
|||
}
|
||||
}
|
||||
|
||||
private IList<SystemFile> ConnectToWebDavServer(string userName)
|
||||
private IList<SystemFile> ConnectToWebDavServer(AccountModel user)
|
||||
{
|
||||
var rootFolders = new List<SystemFile>();
|
||||
foreach (var folder in ES.Services.EnterpriseStorage.GetEnterpriseFolders(_itemId))
|
||||
{
|
||||
var permissions = ES.Services.EnterpriseStorage.GetEnterpriseFolderPermissions(_itemId, folder.Name);
|
||||
if (permissions.Any(x => x.DisplayName == userName))
|
||||
rootFolders.Add(folder);
|
||||
|
||||
foreach (var permission in permissions)
|
||||
{
|
||||
if ((!permission.IsGroup && permission.DisplayName == user.UserName)
|
||||
|| (permission.IsGroup && user.Groups.Any(x=> x.DisplayName == permission.DisplayName)))
|
||||
{
|
||||
rootFolders.Add(folder);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
return rootFolders;
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue