【发布时间】:2010-09-30 07:31:07
【问题描述】:
我正在开发一个 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 Server-Side blog 它并不完美(Mike Volodarsky 必须创建自定义表单身份验证模块),但它可以工作。
【问题讨论】:
标签: asp.net-mvc iis-6 windows-authentication