簡體   English   中英

IIS7如何處理身份驗證模塊? 內存范圍?

[英]How the IIS7 handle a auth module? Memory scope?

作為從事過此類項目的人,您可能知道此站點:

使用.NET開發模塊

在本文中,Mike Volodarsky撰寫了一篇非常不錯的文章,介紹如何為IIS7創建自己的安全身份驗證擴展。

我接受了這個,並根據自己的需要進行了修改。 我正在獲取基本的身份驗證憑據,並調用外部Web服務來從其他活動目錄域中對用戶進行身份驗證。

到目前為止,這原則上可以正常工作。

調用Web服務需要一些時間,並且每個請求,站點,資源(圖像,樣式表,javascript文件等)都會導致IIS7調用該模塊並再次進行身份驗證。

我不知道IIS7如何處理此模塊,因此我決定創建一個基於SQL表的安全令牌,該令牌的生命周期為十分鍾。 因此,現在我的代碼檢查此令牌是否可用並授予訪問權限,否則請調用Web服務以再次進行身份驗證。

我開發了一切,並且效果很好。 在生產中,我遇到了更嚴重的超時,並發現我的sql連接是問題所在。 連接池超載。 我用一個錯誤的解決方法來解決此問題,將池大小設置為非常大的數目。

現在這是我的問題:

有誰知道這個模塊是否會以任何方式保留在內存中,以便我可以在內存中存儲令牌-應用程序池范圍? 這個想法是在應用程序運行時將令牌存儲在內存中。 但是我找不到任何信息可以幫助我了解如何在IIS7中處理該模塊以及我的想法是否是該問題的解決方案。

您不會將模塊本身保留在內存中,但是常見的是使用加密的cookie或會話來維持信譽。 聽起來您好像正在合並一些問題。 您的模塊聽起來像可以(並且應該)由自定義成員資格提供程序(自定義身份驗證模塊)進行處理。

假設(基於您的帖子)您正在通過網絡(表面上是從Web表單)獲取某個人的用戶名和密碼,則應使用ASP.NET中的表單身份驗證提供程序,然后實現一個customMembership提供程序來執行實際操作信譽檢查。 然后,Forms Atuh提供程序可以處理維護應用程序和用戶瀏覽器之間的auth令牌的過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM