gpt4 book ai didi

asp.net-mvc-3 - 如何从 Controller 外部访问登录用户?

转载 作者:行者123 更新时间:2023-12-04 02:00:35 24 4
gpt4 key购买 nike

我正在使用 SignalR 处理来自我的 MVC3 应用程序上的客户端的点击。

每次用户单击某些内容时,我都需要验证已登录的用户。

如果这是在 MVC3 Controller 中,我会去:

if (User.Identity.IsAuthenticated)
{
string username = User.Identity.Name;

//My code here.
}

但是,此代码执行不在 Controller 类中。

基本上,如何从 Controller 外部访问登录的用户名?

最佳答案

Basically, how can I access the logged in users name from outside a controller?



这取决于您想从何处访问它们。如果您无权访问 HttpContext您可以随时尝试 HttpContext.Current.User并祈祷它不会因某种原因为空,例如不同的线程或其他原因。对于依赖于任务和大量异步处理的 SignalR,这尤其可能。如果它在 SignalR 的集线器内,您可以访问用户:
public class Chat: Hub
{
public void Foo()
{
string username = Context.User.Identity.Name;
}
}

我个人不建议您使用 HttpContext.Current .取决于您究竟想要实现什么以及我向您保证有更好的方法。

关于asp.net-mvc-3 - 如何从 Controller 外部访问登录用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7289724/

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