如何从控制器外部访问登录用户?

2023-11-25

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

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

如果这是在 MVC3 控制器内,我会:

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

    //My code here.
}

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

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


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

这取决于您想要访问它们的位置。如果您无权访问HttpContext你总是可以尝试HttpContext.Current.User并祈祷它不会因某种原因而为空,例如不同的线程或其他原因。这对于依赖于任务和大量异步处理的 SignalR 来说尤其可能。如果它位于 SignalR 的集线器内,您可以访问用户:

public class Chat: Hub
{
    public void Foo()
    {
        string username = Context.User.Identity.Name;
    }
}

就我个人而言,我不建议您使用HttpContext.Current。取决于您到底想要实现什么目标以及我向您保证有更好的方法。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何从控制器外部访问登录用户? 的相关文章

  • 显示 div 内的用户名列表

    我是 jQuery 新手 在我的项目中 我创建了一个类User其中代码如下所示 static ConcurrentDictionary
  • MVC3中设置下拉列表中的所选项目

    我必须为视图中的下拉列表设置所选项目 但它不起作用 View div class editor label Html LabelFor model gt model Gender div div class editor field Htm
  • 如何在此 MSDN 示例中使用 Order By

    我正在尝试弄清楚如何使用这个 orderBy 参数 我不确定我应该传递什么 http www asp net mvc tutorials getting started with ef using mvc implementing the
  • 更改成员资格、角色等的默认连接字符串

    默认情况下 我的网络应用程序似乎正在使用LocalSqlServer作为用于任何应用程序服务 例如成员资格 角色 身份验证 等 的连接字符串 有什么方法可以更改默认连接字符串应该是什么 默认值是 LocalSqlServer 似乎很随意 我
  • MVC3 中定义路由的文件

    我有这个文件
  • 使用 Webpack 代理创建 React 应用程序中的 WebSockets

    我使用版本 3 1 2 2019 年 9 月 19 日 中的 Create React App 创建了我的 React 应用程序 我试图为 Web Socket 请求配置代理 但似乎当我使用代理时 未建立连接 我用过THIS https g
  • 如何在MVC中获取控制器中的下拉值

    我使用递归函数使用字符串列表绑定下拉列表我的下拉菜单具有类似的值 家 首页 gt gt 厨房 首页 gt gt 厨房 gt gt ABC 我想在数据库中使用相同的下拉值 ABC 这是我的查看代码 ViewBag Title Createne
  • MVC3数据缓存技术

    我有一个 sql 查询 存储过程 在结果显示在网络网格中之前需要大约 8 10 秒才能返回 关于 asp net mvc3 中的缓存的性能最佳实践是什么 以便用户不必每次都花费 8 10 秒来加载该数据 减少优化查询 你可以使用内存缓存 h
  • 使用 MVC 3 中的 Razor View 引擎从部分视图渲染部分

    我在底部主布局中渲染了一个部分 这通常是在页面渲染时在页面底部渲染 javascript 的部分 在 View 和 partial 视图中定义该部分 页面呈现时 它会从页面视图呈现部分 但不会从 partial 视图呈现部分 如何将 par
  • 如何强制控制器/操作使用 JsonValueProvider

    再会 我正在使用 ASP NET MVC 3 其中JsonValueProvider http haacked com archive 2010 04 15 sending json to an asp net mvc action met
  • 带有服务总线的 SignalR Azure 云服务

    我使用 SignalR 构建了一个简单的聊天应用程序那里有教程 http www asp net signalr overview getting started tutorial getting started with signalr
  • IE提示打开或保存服务器的json结果

    兼容模式下的Internet Explorer通过ajax回调方法从服务器获取数据 如果我想保存数据或打开数据 会弹出一个对话框 如何摆脱它 客户说 ajax type POST data UIdlgHolder gt form seria
  • MVC 3 - 将 ViewBag 内容分配给 Javascript 字符串

    我正在尝试将数据从 ViewBag 对象传递到我视图上的 javascript In the controller ViewBag SomeUrl http mydomain com In the View 我遇到的问题是以下示例将 js
  • 以编程方式设置 aspnet:MaxHttpCollectionKeys

    在特定网站的一些管理功能中 我正在做一篇特别可怕的帖子 需要一个large要发布的数据量 为了实现这一点 我必须添加 Web config appSetting https stackoverflow com questions 88324
  • 你调用的对象是空的。 IE问题

    我在 ASP Net 中开发了一个网站 它在除 IE 之外的所有浏览器中都能正常工作 在 IE 中我收到错误 对象引用未设置为对象的实例 在我的本地计算机中一切正常 发布到服务器后出现错误 有什么想法如何解决这个问题吗 这是我得到的堆栈跟踪
  • ASP.NET MVC3 绑定到子类

    我有一个类型的超类Question它有多个子类 例如选择题 and 文本问题 每个子类都有自己的编辑器模板 例如 共享 EditorTemplates MultipleChoiceQuestion cshtml 我想做的是创建一个列表Que
  • 默认 ASP.NET MVC 3 模型绑定器不绑定小数属性

    由于某种原因 当我将此 JSON 发送到操作时 BaseLoanAmount 5000 它应该绑定到一个具有名为 BaseLoanAmount 的十进制属性的模型 它不会绑定 它只是保持 0 但是如果我发送 BaseLoanAmount 5
  • 如何在 MVC3 中将附加列添加到 WebGrid

    我正在使用 WebGrid 帮助程序使网格在我的 MVC 应用程序中可排序 var grid new WebGrid Model canSort true grid GetHtml columns grid Columns grid Col
  • 更新标记实体日期时间属性不变时

    我的域模型中有此实体服务 具有两个日期时间类型属性entrydate 和updatedon 当编辑视图中的用户进行任何更改并提交表单时 我希望将回发 修改对象的entrydate属性标记为未更改 以便在执行更新时不能覆盖entrydate
  • MVC3 剃刀视图错误 Microsoft JScript 运行时错误:对象不支持属性或方法“datepicker”`

    我正在尝试为我的 Html EditorFor 显示日期选择器 为此 我在 Views Shared EditorTemplate 文件夹中创建了一个 EditorTemplate 并将其命名为 DateTime cshtml 但它不起作用

随机推荐

  • haskell中具有多参数函数的点运算符

    我想在 haskell 中编写一个无点函数 为了简单起见 我想创建这个函数 maxmin Ord a gt a gt a gt a gt a maxmin a b c max a min b c 我可以将其改进为 maxmin a b ma
  • ImageIO: JPEG 损坏的 JPEG 数据:数据段过早结束 iphone - 如何捕获此问题?

    我通过 HTTP 下载图像时收到此错误 我看过在这里回答但即使有效的图像也不会返回YES从函数 还有其他想法吗 获取图像的代码很简单 这发生在后台线程中 NSData data NSData dataWithContentsOfURL NS
  • 导航控制器透明栏样式不起作用

    我正在使用导航控制器 并且我将样式设置为 navController navigationBar barStyle UIBarStyleBlackTranslucent 但是当我运行我的程序时 导航控制器看起来像是在白色背景之上 而不是我的
  • 将总行附加到数据帧后删除 pandas 数据帧索引的名称

    我按一周中的每一天计算了一系列总计提示 并将其附加到底部totalspt数据框 我已经设置了index name为了totalspt数据框为无 然而 当数据框显示默认的 0 1 2 3 索引时 它不会在索引正上方的左上角显示默认的空单元格
  • 获取类型错误:__init__() 缺少 1 个必需的位置参数:尝试在包含条目的子表之后添加父表时“on_delete”

    我的 sqlite 数据库中有两个类 一个名为的父表Categorie子表称为Article 我首先创建了子表类并添加了条目 所以首先我有这个 class Article models Model titre models CharFiel
  • 我创建了一个带有自动刷新功能的 PrintWriter;为什么不自动冲洗?

    我的客户端是一个网络浏览器 并使用以下网址向我的服务器发送请求 http localhost 这是服务器端代码 问题出在run方法上ServingThread class class ServingThread implements Run
  • 学说2中的多态关系

    有没有办法实现Laravel在主义上的多态关系 这是一个例子 class Address protected street public function setStreet public function getStreet class
  • 枚举的枚举为 NULL

    我正在为我的 Java 1 6 大学课程开发一个 LALG 编译器 所以我上了类型课和语法课 枚举类型 public enum EnumTypes A OLA B MUNDO C HELLO D WORLD The order below
  • spring security中的手动认证逻辑应该去哪里——服务层还是表示层?

    我有这段代码 UserDetails userDetails userDetailsServiceImpl loadUserByUsername email Authentication authentication new Usernam
  • 从 Android 检索 GPS 修复中使用的卫星数量

    我正在尝试检索 GPS 修复中使用的卫星数量 我实现了两种不同的方法 如下所示 package ti utils import android app Activity import android content Context impo
  • 我可以复制或拦截 Java 中的输出流吗?

    我想拦截标准输出流 然后将内容复制到另一个流 但我也希望保持标准输出流像原来一样 我可以用 Java 实现这一点吗 您可以使用类似示例的内容TeeOutputStream在这里解释编写您自己的 Java I O 流类 基本上 您创建一个 T
  • 目前在 Jupyter/iPython 中动态更新绘图的正确方法是什么?

    在答案中如何在 ipython 笔记本中动态更新循环中的绘图 在一个单元格内 给出了如何在 Python 循环中动态更新 Jupyter Notebook 内的绘图的示例 然而 这是通过在每次迭代中销毁并重新创建绘图来实现的 并且其中一个线
  • 将缺失的日期添加到 pandas 数据框中

    我的数据可以在给定日期有多个事件 也可以在某个日期没有事件 我记录这些事件 按日期计数并绘制它们 然而 当我绘制它们时 我的两个系列并不总是匹配 idx pd date range df simpleDate min df simpleDa
  • 是否存在占用 0 字节的 C++ 类型

    我试图声明一个占用零字节的 C 变量 它在一个联合体中 我从 int 0 类型开始 我不知道这是否实际上是零字节 尽管 sizeof int 0 是 0 我需要一种更好的方法来声明 0 字节类型 并且希望可以将其类型定义为 nullType
  • 无法使用 127.0.0.1 连接到 mysql

    使用以下代码我可以连接到mysql mysql connect localhost username 但如果我改变localhost to 127 0 0 1我收到以下错误 无法连接到 127 0 0 1 上的 MySQL 服务器 13 为
  • 命令行参数的Shell脚本密码安全

    如果我使用密码作为命令行参数 则它在系统上是公开的ps 但是如果我在 bash shell 脚本中并且执行如下操作 somecommand p mypassword 这仍然会出现在进程列表中吗 或者这样安全吗 子流程怎么样 不安全吧 协进程
  • 图库/AdapterView 子可绘制状态

    我正在使用图库视图 其中与每个项目相对应的视图都非常重要 并且由文本和多个按钮组成 当我单击以拖动图库视图 不在按钮之一上的某处 时 按钮的可绘制状态更改为按下 并且看起来好像所有按钮当前都被按下 此外 选定状态也会发生相同的行为 例如 子
  • 轻量级8字节哈希函数算法

    我需要从可变长度字符串中提取 8 字节摘要 因此我正在寻找将在 c c 中实现的算法 这将是微控制器上数字签名过程的一部分 因此它必须是 可以用几行代码编写 因为必须保留尽可能少的固件 资源消耗低 特别是RAM 最好小于100字节 足够强大
  • 如何在 Matlab 中打开 DBase 文件(.DBF)?

    我已经在 Matlab Central 中进行了谷歌搜索 但找不到任何直接在 Matlab 中打开 DBF 文件的方法 TMW File Exchange 中有一些对 DBFREAD 函数的引用 但它不再可用 真的有问题吗 我确实有数据库工
  • 如何从控制器外部访问登录用户?

    我正在使用 SignalR 处理来自客户端对我的 MVC3 应用程序的点击 每次用户单击某些内容时 我都需要验证登录的用户 如果这是在 MVC3 控制器内 我会 if User Identity IsAuthenticated string