asp.net – 用于查询字符串的基本身份验证的IIS重写规则
我试图通过基本身份验证自动登录用户到Xwiki安装.这是因为帮助存储在wiki中,但我们希望检索过程对用户透明.
我们将用户推送到网址(通过< a>标记),例如: 这在除Internet Explorer之外的每个浏览器中都可以正常工作(请参阅:http://support.microsoft.com/kb/834489.不幸的是,80%的用户群使用Internet Explorer,并且不能让他们输入凭据手动. 目前,我们将IIS 7.5放在Xwiki前面,并将所有请求代理到另一台服务器上的Tomcat实例.这很好用.为了解决我的问题,我想我可以使用IIS重写规则来转换这样的URL: http://xwiki.example.org/xwiki/bin/view/Main?basicauth=1u0026amp;_username=usernameu0026amp;_password=password 进入这个: HTTP://用户名:password@xwiki.example.org/xwiki/bin/view/Main的BasicAuth = 1&安培; _username =用户名和安培; _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中使用“测试模式”并提供我的URL时,所有后向引用({R:x})都匹配到我想要的数据.但是,当我在浏览器中访问URL时,重写规则无法调用. 有什么方法可以实现我想要的行为吗? 解决方法
可以在IIS上使用URL重写进行基本身份验证.您应该在base64中添加服务器变量HTTP_Authorization,其值为Basic,后跟username:password.请记住在允许的变量中添加变量
所以对于用户密码打开芝麻的用户阿拉丁,你的格式是阿拉丁:打开芝麻和base64编码QWxhZGRpbjpvcGVuIHNlc2FtZQ ==. 这转化为 <rule name="SomeName" stopProcessing="true"> <match url="url/to/match" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="http://www.redirecturl.com/" appendQueryString="true" /> <serverVariables> <set name="HTTP_Authorization" value="Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==" /> </serverVariables> </rule> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-web-api – 标题中的API密钥与swashbuckle
- asp.net – 如何更改Y轴标签字体大小?
- asp.net-identity – 使用SQL Server而不是LocalDB的Web AP
- 运行命令(CMD)大全
- asp.net-mvc – 在自定义HTML帮助器中调用Html.ActionLink
- asp.net-mvc – 用作复选框时bool值类型的必需属性
- 使用带数组的ASP.NET中继器?
- asp.net – 在自己的AppPool中运行每个网站有哪些优点和/或
- 深入理解C# 3.x的新特性(1): Anonymous Type
- asp.net – 将Crystal报表导出到文本文件 – 没有RTF文件
- asp.net-mvc – 使用Facebook和Twitter登录ASP.N
- asp.net-mvc – 如何单元测试应用了[Authorize]属
- asp.net-mvc – 如何与Entity Framework创建外键
- 如何使用ASP.NET和iframe对跨域的用户进行身份验
- ASP.Net C#ResolveClientUrl里面的类
- 展望asp.net core Blazor项目c#编译为原生WebAss
- asp.net – Outputcache:VaryByHeader =“User-
- 如何在ASP.NET中为Craigslist批量发布创建根RDF
- asp.net-mvc – ASP.NET MVC – 使用Moq框架对Re
- 在ASP.NET MVC视图页面中放置jQuery代码的位置?