【发布时间】:2016-02-01 12:55:51
【问题描述】:
在我的 Web 应用程序中,我想要两种不同的身份验证模式。 Windows 和 窗体。
我想要达到的目标:
出于不相关的原因,我需要在 IIS 中设置两个不同的站点。 一个站点正在使用 Windows 身份验证,另一个站点正在使用表单。 我希望将站点映射到同一个项目。 唯一的区别应该是web.config文件,简单写一行:
Web.config 1
<authentication mode="Forms" />
<authorization>
<deny users="?" />
</authorization>
Web.config 2
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
一个简单的解决方案是将两个站点映射到两个相同的项目,包含不同的配置。虽然,这可能会导致未来维护方面的问题/困难,因为必须记住发布两个项目的新更改。
"如果客户端尝试使用 url XXX 进入站点 1,则应提示他们 Windows 身份验证(在浏览器中配置为支持 SSO)。如果客户端尝试使用 url yyy 进入站点 2,则应提示他们在表单登录中输入 SQL 用户的凭据。"
是否有可能在没有两个相同项目的情况下实现我的愿望?
【问题讨论】:
标签: c# asp.net-mvc forms iis config