我們有一個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