最近项目用到windows authentication 模式,发现了一个问题,这里记录一下。
通常在Web.config里配置好windows authentication之后,认证就启动了,在程序里可以通过访问当前request的iPrinciple接口便可以得到当前访问的windows用户信息。经测试用不同的域名去访问站点,以下几种情况会有不同的表现:
1. 在浏览器中用localhost去访问没什么问题, 一切正常。
2. 域名(Name.domain.com)访问,也没有问题。
3. 用Ip 127.0.0.1访问会弹出windows登陆框,手动输入账号后可顺利登陆, 如果在 Tools - Internet Options - Security - Loal intranet - Advanced里面把Ip加入信任列表,则弹出框会消失。
4. 在hosts file里面加mapping 127.0.0.1 local.mypc.com,然后用此域名访问,发现无论如何不能访问,
然而,如果这个mapping的IP是别的机器而不是本机,却又可以访问。这个看来是微软安全机制的问题了。