Web应用程序,提示网络上的凭据并使用网络上的Windows凭据

时间:2014-04-17 15:32:21

标签: c# asp.net-mvc-4 authentication active-directory iis-7.5

我正在实现IIS 7.5中托管的C#MVC 4应用程序来替换公司内部网。要求是当用户使用他们的Windows凭据登录他们的个人工作站时,他们将不会被提示登录(这不是可选的,客户对此很坚定,因为他们认为这是SharePoint的工作方式。虽然我无法确认)但是,当他们在移动设备上或在本地网络上的个人计算机上时,他们将被提升为他们的凭据。此外,在网络外,用户应该能够注销,应用程序应在一段时间不活动后自动注销。有权访问该应用程序的所有用户都将拥有AD凭据。

我尝试使用Windows身份验证获得可行的解决方案,但我的理解是,Windows身份验证不适合在本地网络之外使用。即使我可以使用此选项获得所需的身份验证结果,也无法在没有大量kludge和黑客攻击的情况下注销。

默认情况下,表单身份验证似乎就是答案,但有没有办法利用用户窗口凭据并针对活动目录进行身份验证,而不会提示用户在网络上登录?

1 个答案:

答案 0 :(得分:0)

不幸的是,即使我打电话给微软,我也无法找到解决这个问题的好方法。他们确实建议了Active Directory联合服务。这对我们来说不是一个选择。

还有一个伟大的blog post与我正在寻找的相反,但可能被操纵起作用。

与我的产品所有者合作后,我们选择了真正的表单身份验证模型。我能够安抚它们的方式是本地网络上的用户我将表单身份验证令牌和cookie的时间设置为更长的持续时间并刷新持续时间,以便如果用户经常在应用程序上处于活动状态,他们可能永远不会被提示登录。

这可能不是最优雅的解决方案,但它使我们能够满足产品所有者设定的要求。如果有人有其他建议,我很乐意听到。