每次討論到windows或是IIS權限都是我的弱項,碰到這類問題總是要搞個老半天,所以處理完趕緊來記錄一下!!
情境 :
同事希望某個資料夾下的Json檔案都不能被外部存取,但唯獨某一支有資訊安全問題,想要排除
解決方案:
一開始單純的想說透過IIS的驗證設定將該資料夾的匿名驗證停用,但這樣就變成所有在該資料夾底下的檔案都讀取不到了。
[![](https://2.bp.blogspot.com/-RnKuPAsgeo4/WNHuiKDxc5I/AAAAAAAAIFo/iW3Vy1dIanMIQnrg8fN8Bey6ieywbJX8ACLcB/s640/1.png)](https://2.bp.blogspot.com/-RnKuPAsgeo4/WNHuiKDxc5I/AAAAAAAAIFo/iW3Vy1dIanMIQnrg8fN8Bey6ieywbJX8ACLcB/s1600/1.png)
最後查了一下後,採取透過Web.config設定的方式來達成!!
- 首先在Web.config的system.webServer區段接入以下區段 ```xml
1 |
|
這邊稍微解釋一下意思,首先authorization區段底下寫著deny user=”?”,表示匿名驗證的使用者都無法存取。
接著location path這段是表示,xxx.json,他的權限是可以允許(allow)匿名驗證者個存取。 </div><div>
這樣設定完後進行測試,的確該資料夾底下的所以檔案都會無法直接讀取,並且跳出401權限驗證錯誤,而xxx.json雖然在同資料夾下,但卻是可以直接讀取檔案的
因為關於權限設定真的是肉腳一枚,如果有寫錯或觀念偏誤的地方,也歡迎留言指正教導,感激不盡!!!