0

在 Intranet ASP .NET (C#) 页面上,我试图检索当前用户名。

从我的本地机器(Firefox 3.5)我可以看到以下可能性的结果(来自我的本地登录):

<% Response.Write(User.Identity.Name); %>
<% Response.Write(HttpContext.Current.User.Identity.Name); %>
<% Response.Write(Page.User.Identity.Name); %>

但是,当我在本地(IE8)或服务器(IE7)上浏览时,以上都不适用于我的终端服务器登录。

这是 IE 和网页之间的权限问题吗?

更新1

刚刚使用 Firefox 便携版在终端服务器上测试了相同的页面,它也阻止了用户名。

4

2 回答 2

1

嗯,你可以检查几个设置:

1)Internet选项>安全>(选择您的区域)>自定义级别...>用户身份验证>登录>使用当前用户名和密码自动登录

和/或

2) Internet 选项 > 高级 > 启用集成 Windows 身份验证

于 2009-10-29T17:27:16.487 回答
1

IE - 请原谅我这个答案含糊不清,我已经很长时间没有使用它了:IE 中有一个用于启用用户名传递的设置。由于组策略,这可能会关闭。

把想法大声说出来...

如果站点使用本机 Windows 安全性,Firefox 通常将无法工作。那么,它是否使用基于文本的登录(您实际上必须从 Firefox 中登录吗?)?这可以解释 Firefox 的工作原理。

本地浏览/服务器浏览:正常浏览(内部浏览)通常不会从代理服务器反弹。可能是 TS 配置为知道这一点以及为什么正确传递凭据(例如,您可以使用 IE 浏览 TS - 它是否有效?应用相同的组策略设置。)我已经看到所有安装流量通过代理服务器推送,然后返回内部服务器。不幸的是,这往往会剥夺凭据,这也可能在这里发生。

有用的是 IIS 日志。您是否看到失败的 IE 流量(我认为是 403'd)?

于 2009-10-29T17:27:33.417 回答