ASP.NET MVC Urls和IIS集成Windows身份验证
我有一个完全支持Forms身份验证的ASP.NET MVC应用程序.但是有一组路由(/ report /%)我需要强制集成
Windows身份验证,因为这些页面需要模拟当前用户(出于安全原因).
如果我将整个站点设置为集成的Windows身份验证,这一切都有效,除了firefox在用户访问站点主页时提示用户输入两次用户名/密码(一次用于Windows身份验证,然后再用于表单身份验证),而IE仅提示表格认证.这很好,我知道这是Firefox的默认行为,但是为了不让用户高兴,我被要求将Windows身份验证要求限制为仅限于网站的/ report / *部分,因此只有在他们转到/ report /%中的任何页面. 在ASP.NET WebForms中这很容易,因为有一个physcial / report文件夹来放置身份验证配置,但在MVC中这个URL是虚拟的,所以我不能这样做.有谁知道这样做的好方法?我试图创建一个“网关”aspx页面,用户在重定向到相应的报告页面之前需要首先完成,虽然Firefox确实在正确的位置提示用户输入他们的Windows凭据,但它似乎没有保留将后续请求的详细信息发送到任何/ report /%页面.有任何想法吗?会非常感激! 解决方法
就在最近,我不得不做类似的事情.我的大部分asp.net MVC应用程序都需要表单身份验证,其中一部分需要Windows身份验证.
我最终做的是将我的Web应用程序拆分为两个项目. 第一个项目托管在IIS下的网站根目录中.这是运行表单身份验证. 第二个项目作为同一网站的虚拟目录托管.这是运行Windows身份验证. 唯一的权衡是,您最终可能会得到/ reports / reports /%的URL(或者您为虚拟目录命名的任何内容) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- .NET Core采用的全新配置系统[5]: 聊聊默认支持的各种配置源
- asp.net-mvc – HandleErrorAttribute无法正常工作
- 一站式WebAPI与认证授权服务
- ASP.net用户数据在访问对象的用户之间进行交叉
- ASP.NET – 在屏幕底部显示应用程序生成日期/信息
- asp.net – 如何获取“发布网站”命令为我的Visual Studio
- ASP.NET MVC2与实体框架4 – AsEnumerable()或ToList()在存
- 在按钮执行回发之前触发的asp:按钮上添加jQuery click事件
- asp.net-mvc – ASP.Net MVC – 重定向到路由提供Redirect
- asp.net-mvc – ASP.NET MVC – 与使用模型注释相比,使用自
- 如何在asp.net转发器控件中获取项目点击事件?
- asp.net-mvc – MVC3,Razor,Html.TextAreaFor():
- asp.net – 添加GridTemplateColumn会破坏RadGri
- ASP.NET NHibernate事务持续时间
- asp.net – 具有不同按钮类型的Asp按钮
- ASP.NET Core 简介 - ASP.NET Core 基础教程 - 简
- asp.net – <#=#>是什么意思
- asp.net-mvc – 带有MVC样式存储库的.NET RIA服务
- 给 asp.net core 写个中间件来记录接口耗时
- Asp.Net Core 获取找回密码的Code提示错误No IUs