我正在开发一个 Web 应用程序,我需要将 Forms 和 Windows 身份验证混合在一起。
我选择的方法是:所有网站上的身份验证方法都必须是表单身份验证。有一个表单页面 ( ~/home/Login
) 可以通过表单身份验证登录。神奇(和麻烦)是只有一页(比如说~/Home/WinLogin
)必须将身份验证方法设置为 Windows 身份验证。该页面用于读取HttpContext.User.Identity.Name
获取windows用户名。
我不知道如何在 iis6 上为一条特定路线设置 win auth?
路线看起来像~/Home.ashx/WinLogin
。好的,但是然后呢?我试图在虚拟目录和子目录 WinLogin 中创建目录 Home.ashx。但随后~/Home.ashx/Login
(使用登录表单)停止工作。
因为在 iis6 上我们必须使用 ashx 处理程序,似乎没有其他方法可以做到这一点,而不是创建一个~/WinLogin.aspx
可以完成工作的普通网页。但是我想避免这种情况并仅使用 MVC。
仅供参考如何设置 iis7:IIS 7.0 服务器端博客 它并不完美(Mike Volodarsky 必须创建自定义表单身份验证模块),但它可以工作。