2011-12-18 46 views
1

我們的組織計劃將Webseal用作位於我們.net網站前的代理。我們目前使用.net表單身份驗證和自定義的成員資格提供程序對照自定義的sql server用戶表。尋找關於支持Webseal身份驗證的更改的建議.net應用程序

在這種新模式下,所有的認證會由WebSEAL層來完成。據我所知,一旦通過身份驗證,webseal只會在標題中添加一個標記,指示用戶與用戶標識一起進行了身份驗證。

我想我們的應用程序,以在不改變工作,所以我想建立的東西通過建立一些在WebSEAL令牌轉換爲普通.NET令牌層從WebSEAL的細節保護他們。

我不知道在哪裏應該是這樣的......在某種自定義的身份驗證提供者的,或新的成員提供或?我不希望我們的任何應用程序必須進行任何更改,而不是使用此新代碼(如果它是http模塊或其他提供程序)。

有沒有人做過這種類型的東西?這將是一個很好的策略。我聽說過Windows Identity Framework,但不確定它是否是適合這個的正確解決方案。

任何建議或指導將有所幫助。

回答

1

如果提供認證信息(在標題中),那麼能夠在請求管道中使用它的最簡單方法是編寫定製的模塊

模塊是實現IHttpModule接口的類。在其Init方法中,您將自定義處理程序附加到HttpApplicationAuthenticateRequest。自定義處理程序應該是負責重建的身份,即設置HttpContextUser來實現IPrincipal任何對象(可以使用內置的GenericPrincipal)。

然後您註冊模塊中web.config的適當部分,和你做。

有關更多詳細信息,請諮詢谷歌關於「C#自定義認證模塊」。

0

假設您使用的是MVC,根據此IBM sample,您可以添加自定義操作篩選器,以將WebSEAL標頭中的用戶信息轉換爲已通過身份驗證的用戶。

相關問題