c# - IIS 7.5 和混合模式身份验证(单点登录)

标签 c# iis mixed-mode

有没有人设法做到这一点?

应用程序应该像这样工作:

  • 应用管理员可以添加 AD 用户
  • 应用管理员可以定义非来自 AD 的用户
  • 如果用户是从 AD 添加并尝试从同一 AD 访问应用程序 - 应用程序应自动让他登录(单点登录)。
  • 如果用户不是来自 AD,或者没有添加为应用程序用户 - 显示应用程序登录表单

顺便提一下,我设法在 IIS6 上实现了这一点。到目前为止,我已经阅读了几种涉及 IIS 7 和 7.5 的技术,但在生产服务器上部署时,它们似乎都没有真正起作用。

到目前为止,我有 2 个独立的 Web 应用程序。一个 Web 应用程序配置了表单例份验证 - 这是主要的。其他配置为windows认证。

想法是,用户尝试访问主应用程序,这个应用程序将他重定向到另一个尝试提取他的域用户名 (NTLM) 的应用程序,然后将他重定向回主应用程序。主应用程序尝试以 AD 用户身份登录,如果失败则显示表单登录。如果将 AD 用户添加为应用程序用户(使用单独的应用程序管理模块),他应该自动进行身份验证,这意味着不应显示 IIS 登录提示。

这两个应用程序在同一个应用程序池中运行。而且它们都处于集成流水线模式。

如果我在我的开发 win7 IIS 上设置它,这会起作用,但是当我在带有 IIS 7.5 的 win 2008 服务器上部署应用程序时,它不起作用。我不断收到 IIS 登录提示。如果我在 IIS 登录提示中输入我的凭据,它最终会让我登录到应用程序。

有没有人遇到过类似的问题,希望能解决?

最佳答案

请使用您提供的信息更新问题。

据我了解,这两个应用程序位于同一个应用程序池中,我认为您需要将它们分成两个应用程序池。

关于c# - IIS 7.5 和混合模式身份验证(单点登录),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3914967/

相关文章:

c# - 我如何强制遵守 .NET 中的给定架构?

c# - 方法必须有返回类型 (C#)

c# - 在 devexpress 上的 gridview 内循环

.net - ASP.NET 2.0 IIS 设置

c# - 如何在 20 分钟后在 asp.net 中停止 session 超时?

azure - 带有 121 子状态的 HTTP 500 错误意味着什么?

arrays - 来自指针的 std::array 或 std::vector

c# - 在 Visual Studio 2013 中对托管单元测试使用混合模式调试

c++ - 在混合模式 DLL 中链接到 presentationcore.dll

iis - 来自模块的 Orchard CMS 静态资源返回 404