【问题标题】:asp.net get user information from xmlhttp requestsasp.net 从 xmlhttp 请求中获取用户信息
【发布时间】:2015-06-15 21:28:29
【问题描述】:

我正在开发一个应用程序,其中使用 ajax 请求对后端 api 页面执行某些操作,例如向内容添加喜欢。 javascript函数会在xmlhttp请求中将用户ID和内容ID传递给api页面。

我们在 Active Directory 中使用表单身份验证。

出于显而易见的原因,我想在做任何事情之前验证我在 api 页面上收到的输入。

虽然我的 web.config 确保只有登录的用户才能访问 api 页面,但我找不到任何方法来获取当前用户的信息,例如用户名。 我尝试了以下方法:

Membership.GetUser().Username;

如何从我的页面获取登录用户的信息?

谢谢

【问题讨论】:

    标签: asp.net ajax forms-authentication


    【解决方案1】:

    HttpContext.Current.User 返回IPrincipal 类型的对象,IPrincipal.Identity 返回IIdentity 类型的对象。

    HttpContext.Current.User.Identity.Name 为您提供用户名

    HttpContext.Current.User.Identity.IsAuthenticated 为您提供身份验证状态(布尔值)

    有了这个,您可以在数据库中查找其他详细信息,可能将它们存储在 Session 中。

    【讨论】:

    • 谢谢,我最终使用 HttpContext.Current.User.Identity.Name 来获取登录用户的用户名。然后我用它从数据库中获取他们的 ID。
    • 不客气。恕我直言,如果可能,您应该尽量避免从 JavaScript 传递用户 ID。它完全没有必要,因为您可以通过从服务器端经过身份验证的用户名中查找来获取用户 ID。不过,您正在做的检查提供的 id 是合理的第二好。更多讨论在这里stackoverflow.com/a/30683127/397817
    • 是的,我想我也可以从登录用户的信息中获取它。作为概念验证,我非常快速地构建了 JS,并且现在我知道如何为当前用户获取信息,肯定会改进它。
    猜你喜欢
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2016-01-28
    • 2019-02-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多