我正在为我的公司开发一个网站,该网站可在我们的内部网络和互联网上使用。我被问到一些对我来说似乎不可能的事情,但我想在真正说之前问这个问题!
我们公司有两种类型的用户,一种是实际在 Active Directory 中注册的用户(等等有一个 Windows 登录帐户),另一种不是。
在我们的内部网络上,我们使用HTTPContext.Current.User.Identity.Name
通过此身份验证提供的身份,如果用户确实存在,我可以检查 Active Directory 并授权他访问该网站。这是为了通过我们的内部网络进行访问。这很好,因为通过内部网络访问网站的每个人都需要有一个 AD 帐户。
现在,主要问题是互联网访问!目前,我有一个弹出窗口显示并要求输入登录名/密码(非常基本,对于不在 AD 上的每个人都一样,不要问我为什么,这是一个要求......) . 如果用户提供正确的登录密码,即使我们不知道他的真实身份,他也可以访问该网站。但是我被要求在此弹出窗口上有一个链接,上面写着“使用您的 Windows 凭据登录”。然后我需要检索凭据并在 AD 中检查它们是否正确。
在互联网上查看后,我找到了应该管理多种身份识别方式的 Windows Identity Fundation,但我觉得这不是我需要的,对于我想做的事情似乎有点矫枉过正!
有人试过这个吗??我知道(我告诉他们)这是一个非常奇怪的要求,但我说无论如何我都会看看......
[编辑 2013/09/13] 我尝试了一些东西,但这不起作用也许你可以解释一下原因。我在 IIS 中设置我的网站以允许匿名连接。我添加了一个带有登录表单的页面(用于基本身份验证,您无需经过身份验证即可访问)以及指向在 web.config 中配置的另一个页面的链接以拒绝匿名连接。我希望它会弹出 Internet Explorer 窗口进行身份验证,但我只是得到了 401 - 未经授权的访问。这是正常行为还是配置问题?