先決條件:有一個利用ASP.NET安全模型的Web應用程序。還有一個Active Directory(AD)集成組件。它提供了AD用戶和角色,就好像這些是應用程序自己的用戶和角色一樣。當然,AD用戶和AD角色之間的「角色」關係存儲在AD域中,但是會被Web應用程序緩存。我應該刪除一個我沒有放在那裏的緩存條目嗎?
問題:假設AD用戶1是AD角色1的成員。當Web應用程序啓動時,它會緩存這種關係。現在,如果AD管理員使用AD控制檯從role1中刪除user1,則應用程序不知道此更改 - 緩存條目保留。這成爲一個安全漏洞,因爲角色1可能擁有user1不應該擁有的權限。
有兩種сcontrary意見如何解決這個問題:一次AD服務器上檢測到操作
- 「聽」到公元變化和觸發緩存條目刪除 - 因爲我們有責任正確的AD組件功能
- 離開緩存不變 - 因爲我們沒有把進入那裏,不應該將其刪除或者
什麼是在這種情況下,以正確的方式去?爲什麼?
謝謝!
嗯,我完全忘記了緩存過期...你是對的 - 給管理員一個選項來指定這種類型的緩存超時可能是一個很好的解決方案。謝謝! – 2010-09-18 18:44:12