我有一个场景,我要求用户使用Windows身份验证或Forms身份验证来对ASP.NET MVC Web应用程序进行身份验证。如果用户在内部网络上,他们将使用Windows身份验证,如果他们在外部连接,他们将使用Forms身份验证。我已经看到很多人问我如何配置一个ASP.NET MVC Web应用程序,但我还没有找到一个完整的解释。
有人可以提供详细的解释,代码示例,这将如何完成?
谢谢。
艾伦·塔
解决方法
这被称为
mixed authentication mode.基本上,您无法在单个应用程序中实现此目的,因为在IIS中为虚拟目录设置Windows身份验证后,将不再接受来自不同域的用户。所以基本上你需要有两个应用程序,第一个使用Windows身份验证,第二个(主应用程序)使用Forms身份验证。第一个应用程序将由单个地址组成,只需通过为域用户颁发身份验证单,重定向到主应用程序。