Membership.GetUser() C# .NET

本文关键字:NET GetUser Membership | 更新日期: 2023-09-27 18:00:14

我正在尝试使用UserName或(最好)用户ID来确定哪个特定用户登录到我的应用程序中。我的意图是,根据用户限制可以上传到我的网站的内容量。每当用户尝试上传文档时,我都想检索他们当前上传的所有文档的计数。作为测试运行,我只是在表单中添加了一个标签,以便在编写查询之前尝试识别用户:

// validate user. If they are not authenticated, do not let them upload files
if (!HttpContext.Current.User.Identity.IsAuthenticated || !HttpContext.Current.User.IsInRole("Administrator"))
{
    uploadLabel.Visible = false;
    user.Text = Membership.GetUser().UserName; // this line should output the username
    mapUpload.Visible = false;
    uploadButton.Visible = false;
}

我知道身份验证逻辑是有效的,因为登录时所有其他字段都不可见。此外,Membership.GetUser().UserName只有在用户IsAuthenticated时才有值;否则,我会得到一个空指针异常。如果调用了代码,则Membership.GetUser().UserName似乎正在将标签设置为空文本字符串。

是否有其他方法可以获取当前登录用户的信息?如前所述,我的最终目标是能够编写一个包含以下信息的查询:

SELECT COUNT(DocumentID) FROM Documents WHERE UserID=@UserID

提前感谢您的帮助。

Bic

Membership.GetUser() C# .NET

无需使用MembershipUser事件获取当前登录用户我们有另一种简单的方法获取当前登录username您只需在页面中这样定义即可

string userName = Page.User.Identity.Name;

你不能更换吗

user.Text = Membership.GetUser().UserName;

带有

user.Text= User.Identity.Name