0
我有以下的方法來檢查當前用戶必須給定的網絡位置檢查共享文件夾的寫訪問當前用戶
DirectorySecurity shareSecurity = new DirectoryInfo(this.GetFileServerRootPath).GetAccessControl();
foreach (FileSystemAccessRule fsRule in shareSecurity.GetAccessRules(true, true, typeof(NTAccount)))
{
// check write permission for current user
if (AccessControlType.Allow == fsRule.AccessControlType &&
FileSystemRights.Write == (fsRule.FileSystemRights & FileSystemRights.Write))
{
if (null != fsRule.IdentityReference &&
fsRule.IdentityReference.Value == WindowsIdentity.GetCurrent().Name)
{
return true;
}
}
}
return false;
寫訪問,但問題是,當文件夾的權限提供給用戶組,上述方法失敗。
我不想寫一個文件,檢查權限,並決定寫訪問權限。
有沒有什麼辦法來查找IdentityReference.Value
當前用戶?或建議來解決這個問題?
我猜這是因爲這部分返回false:'fsRule.IdentityReference.Value == WindowsIdentity.GetCurrent()。Name' – Azodious
是的,當'fsRule.IdentityReference.Value'是一個組時,我需要檢查用戶是否該組的成員或不是 – Damith