gpt4 book ai didi

authentication - WebApi ActionFilterAttribute、HttpActionContext 访问用户名(IPrincipal)

转载 作者:行者123 更新时间:2023-12-04 03:12:20 27 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Can I access IIdentity from Web API

(4 个回答)


8年前关闭。




我需要在我的操作过滤器中访问当前登录的用户 .身份由 DelegatingHandler 设置进一步向上执行链。

我可以访问当前 IPrincipal使用 HttpContext.Current.User .
到目前为止,我避免使用 HttpContext.Current因为在我看来这是一种糟糕的风格。
首先,您的代码仅在托管在 IIS 中时才有效,其次它包含对 System.Web 的引用。我想这不会造成伤害,但我更愿意坚持使用 System.Net.Http如果可能的话。
只是依赖于好的老“HttpContext”感觉不对。

是否有其他方法可以访问 ActionFilter 中的用户身份? ?或者可以用HttpContext如果您不打算运行自托管应用程序?

最佳答案

我忽略了显而易见的事情。我没有意识到 ControllerContext 中有一个 Controller 属性。 .

var username = ((ApiController)context.ControllerContext.Controller).User.Identity.Name;

关于authentication - WebApi ActionFilterAttribute、HttpActionContext 访问用户名(IPrincipal),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15334892/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com