2013-08-19 24 views
0

我有一個使用常規FormsAuthentication進行登錄的mvc3內置站點。該網站現在應該啓用SSL,並且我還被要求添加使用電子身份證/智能卡進行登錄的選項(我的客戶僱員都擁有稱爲SITHS的特定eIdentification卡)。如何爲智能卡登錄選項(SITHS)和SSL配置IIS/web.config

  • 所以我有一個來自VeriSign的SSL證書(已安裝)。
  • 我有一個用於服務器 - 客戶端驗證(添加到受信任的根)的根「CA」證書。
  • 我有一張帶有上述根證書對應的電子身份證書的測試卡。

我有代碼準備好membershipProvider解析並檢查我的用戶數據庫的客戶端證書,但我很不確定服務器和證書位。也應該保留正常FormsAuthentication的舊功能。

我的想法是使用VeriSign證書在整個站點上啓用SSL。然後,以某種方式添加例如「LogOnSmartCard.cshtml」的要求以使用「CA」證書。因此,當用戶被引導到此頁面時,智能卡應用程序將會啓動並進行認證。然後,我可以創建正常的登錄憑單並將用戶重定向到主頁面。

如果這似乎是一個體面的想法 - 我應該如何在IIS(v7)和/或web.config中配置這個想法的任何想法?我可以爲特定頁面申請特定的證書嗎?

回答

1

我會添加我如何解決它,因爲沒有其他輸入:

  • 在IIS我綁定的(SSL)證書威瑞信對整個網站
  • 我導入的CA證書(S)對於(智能卡)認證的證書存儲
  • 我增加了IIS選項「要求SSL」,爲智能卡登錄

特定視圖通過只是在做這些步驟,我有一個SSL加密的網站(HTTPS )和a在我看來,這需要智能卡登錄。

  • 在我添加了一個ActionFilter(個IAuthorizationFilter)的代碼,解釋的證書和有效性(等)的檢查,然後嘗試執行對數據庫映射的用戶的登錄(到證書SERIALNUMBER)
  • 註冊ActionFilter在global.asax(Application_Start)

此解決方案與正常的FormsAuthentication一起,現在可以完美結合。