如何在Membership asp.net 2008中获取当前用户名

11
我使用asp.net 2008的会员功能,并建立了一个包含某些角色的登录系统...等等。
我有一个数据库和表,其KEY是“username”,现在我想知道如何获取已登录成员的用户名?
例如: 我以TURKI的身份登录 我想得到用户名TURKI
我真的需要帮助...
谢谢,
4个回答

28
User.Identity.Name

用户是页面的一个属性。如果您需要在其他地方访问它,可以使用:

HttpContext.Current.User.Identity.Name

谢谢,我尝试一下 User.Identity.Name,没问题!非常感谢! - Turki
当从我的本地 PC 浏览页面时,上述两种方式在内部网络环境中都可以正常工作 - 但是 - 当登录到我们的 Windows 2003 终端服务器时,似乎两种方式都无法工作。 - John M
@John,你所说的内部网络环境是什么意思?因为你提到了行为上的差异,我猜想你并不是在谈论使用SQL成员资格提供程序,而是在使用集成身份验证。在这种情况下,我首先要检查的是该服务器是否允许匿名用户。如果不允许,请发更多细节。如果细节较多,您可能需要发布一个单独的问题 - 在这种情况下请给我一个链接(虽然很有可能在我再次检查之前,其他人已经回答了它...) - eglasius

4
当使用MVC时,对Freddy答案的修改 - 必须使用:
HttpContext.User.Identity.Name

略作修改,但我觉得我应该发布它,以防其他试图在MVC中执行此操作的人遇到同样的问题。


3

Context.User.Identity.Name


2

是的,但如果只需要用户名,您可以通过使用本主题中的其他答案来避免往返于数据库。 - Mike Cole

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接