我試圖通過基本身份驗證自動將用戶登錄到Xwiki安裝。這是因爲幫助存儲在wiki中,但我們希望檢索過程對用戶是透明的。針對查詢字符串的基本身份驗證的IIS重寫規則
我們推動用戶開了一個URL(通過<a>
標籤),如: http://username:[email protected]/xwiki/bin/view/Main?basicauth=1
這工作正常,除了的Internet Explorer(看到每一個瀏覽器:http://support.microsoft.com/kb/834489
不幸的是,我們的用戶羣的80%使用互聯網Explorer不能讓他們手動輸入證書
目前,我們已經在Xwiki前面安裝了IIS 7.5,並將所有請求代理到另一臺服務器上的Tomcat實例。問題,我想我可以使用IIS重寫規則來打開這樣的網址:
http://xwiki.example.org/xwiki/bin/view/Main?basicauth=1&_username=username&_password=password
成這樣:
http://username:[email protected]/xwiki/bin/view/Main?basicauth=1&_username=username&_password=password
的想法是,IIS將替代_username/_password查詢字符串參數到URL,並通過其關閉,以Tomcat和XWiki實現會忽略額外的參數。
我創建像一個URL重寫規則:
<rule name="BasicAuthRewrite" enabled="true">
<match url="https?://(.+)&?_username=(.+)&_password=(.+)" />
<action type="Rewrite" url="http://{R:2}:{R:3}@xwiki.example.org/{R:1}" />
</rule>
當我去 '測試模式' 在IIS並提供了自己的網址,所有的反向引用({R:X})匹配的數據I想。但是,當我在瀏覽器中訪問URL時,重寫規則無法調用。
有什麼辦法可以達到我想要的行爲嗎?
如果取決於連接的用戶,該怎麼辦?我當然不能在配置文件中設置它,因爲它是在執行時計算的。 – 2013-09-24 10:21:59
我認爲這個解決方案可能無法解決您的問題。你可以寫一些具有重寫/類似代理功能的東西,並將其用作「解決方案」。 – Jaco 2013-09-24 14:09:22
「rewrite/proxy-like」是什麼意思?就像創建一個控制器來發送請求並重寫響應一樣? – 2013-10-03 09:41:30