我们有一个asp.net mvc web服务,它需要能够检查网络文件夹上的NTFS权限,并将只有那些文件夹和文件的列表返回到UI用户有权查看。我们不能为此使用模拟。我们将如何去完成这件事?Web服务需要检查用户的NTFS文件权限
1
A
回答
0
在解决这个问题时,我发现这个问题很有帮助,但它并不完全符合我们的需求:
Effective file permissions tool's api in windows。感谢@YacoubMassad指引我朝这个方向发展。使用此代码,我创建了一个有效的权限服务来检查读取权限,但是我遇到了意外问题。该服务对于用户具有查看权限的文件夹可以正常工作,但对于其他用户而言,它将错误地返回true
,因为它没有为他们返回掩码。结果是我的服务显示了用户未被授权查看的文件夹列表。我猜想我可以改变我的服务来解决这个问题,但它变得越来越复杂。
我去的解决方案并不是那么优雅,而是简单而有效。我写了一个方法,为每个目录调用GetDirectories()
。对于GetDirectories()
成功执行的每个目录,路径将被添加到返回到视图的列表中。由于我们的权限是在目录级别处理的,所以这是我所需要的。我还处理文件上的任何UnauthorizedAccessExceptions
,以防万一在此级别设置权限。
public IList<FilePathObject> PopulateAuthorizedPathList()
{
IList<FilePathObject> authorizedPathList = new List<FilePathObject>();
foreach (FilePathObject pathObject in fullPathList)
{
var dir = new DirectoryInfo(pathObject.FullPath);
if (dir.Exists)
{
try
{
var info = dir.GetDirectories();
authorizedPathList.Add(pathObject);
}
catch (UnauthorizedAccessException ex)
{
}
}
}
return authorizedPathList;
}
相关问题
- 1. Web服务器上的文件权限?
- 2. 不绕过遍历检查的NTFS文件权限
- 3. LAMP Web服务器文件权限
- 4. ssrs web服务:Web服务访问所需的基本权限?
- 5. 检查用户权限的权限
- 6. 我在春季严格需要用户服务的权限吗?
- 7. Microsoft CRM 4:需要哪些用户权限才能访问Web服务API?
- 8. Java中的NTFS文件权限6
- 9. 使用ADSI查询服务状态 - 需要哪些权限?
- 10. 在java中设置NTFS文件权限
- 11. IIS6 FTP忽略NTFS文件权限?
- 12. win 7批处理文件 - NTFS权限
- 13. PHP用户权限检查
- 14. 服务需要哪个用户权限才能启动/停止其他服务?
- 15. SharePoint UserProfileService Web服务权限
- 16. 授予服务器上的文件夹的IUSR * NTFS权限的风险
- 17. 检查文件权限
- 18. 检查文件权限
- 19. 在Java中检查指定用户帐户的文件权限
- 20. Linux服务器上托管的文件需要哪些文件权限?
- 21. 需要获取具有文件权限的用户名
- 22. 需要使用web服务
- 23. 使用python检查文件的权限
- 24. c#使用Web客户端在服务器上检查文件
- 25. 检查Windows服务的状态 - 我需要什么特权
- 26. 如何检查用户权限的文件夹用java
- 27. 检查用户是否具有查看文件夹权限
- 28. 服务器2008上ASP.Net的最低NTFS权限
- 29. 获取损坏的NTFS权限的文件/文件夹
- 30. 限制未经授权(不需要)用户访问的WCF服务的方法
看看这个[问题](http://stackoverflow.com/questions/3021698/effective-file-permissions-tools-api-in-windows) –
@YacoubMassad谢谢!我会看看。 – steveo