【发布时间】:2011-07-07 18:59:44
【问题描述】:
我正在尝试使用 ASP.NET 和 VB.NET 在我们公司的 Intranet 上构建一个应用程序。
一旦我的应用程序发布到 IIS,这些函数都不会返回任何内容。它们在开发中运行良好(即:按 F5 我会得到我的常规网络用户名),但一旦发布它们就会返回 ''(一个空字符串)。
HttpContext.Current.User.Identity.Name
Page.User.Identity.Name
我正在寻找能够获取当前用户登录名的东西——任何东西。请注意,由于其他功能要求,我无法在 web.config 中更改这些设置。
<authentication mode="Windows"/>
<roleManager enabled="true" cacheRolesInCookie="true" defaultProvider="AspNetWindowsTokenRoleProvider" cookieName=".ASPXROLES" cookiePath="/" cookieTimeout="480" cookieRequireSSL="false" cookieSlidingExpiration="true" createPersistentCookie="false" cookieProtection="All" />
我也不能更改任何 IIS 设置,包括“启用匿名用户”设置。规格是一成不变的,我必须砍掉自己的腿(或头)才能更换。
我认为必须有一种方法可以使用我当前的配置获取当前登录用户的名称。
有什么想法吗?
谢谢,
杰森
【问题讨论】:
-
您在使用 Active Directory 吗?因为可以使用 System.DirectoryServices 命名空间http://msdn.microsoft.com/en-us/library/system.directoryservices.aspx