最近的项目要在域中运行, 而且需要读取客户端登陆人员的与账户名等信息, 本地运行无错, 可放到iis上获得的信息即为空, 甚是苦恼, 最终得以解决, 方法记录如下.
1. 修改web.config中的system.web节下的<authentication mode="Windows"/>  此处Windows即为使用Windows混合模式认证.
2. 查看发布至iis的网站选用的app pool, 再查看该pool, 将Tab: Identity选为Predefind并且下拉框选为Local Service.
3. 在网站属性中将"匿名登录"的复选框去掉, 只选择Windows混合认证模式.
4. 此时通过浏览器浏览网站会弹出对话框提示要用户输入用户名密码, 这样显然是不行的.
5. 为了解决4的问题, 我们需要在客户端的浏览器中将服务器地址添加到信任站点中, 这样就不用输入用户名密码了.
6. 在网站的任意页面中测试HttpContext.Current.User.Identity.Name, 如果不为空, 则设置成功.

杯具的是4的问题目前还没找到更合适的方式解决, 只能客户端添加信任站点, 望高人指点.

posted on 2010-08-28 10:36  TonyKent  阅读(4410)  评论(2编辑  收藏  举报