我试图通过基本身份验证自动将用户登录到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