首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在.NET中检索已登录/已连接的用户列表?

要在.NET中检索已登录/已连接的用户列表,您可以使用ASP.NET Core的Identity模块。以下是一个简单的示例,说明如何实现此目标:

  1. 首先,确保您已安装并引用了以下包:
代码语言:txt
复制
Microsoft.AspNetCore.Identity
Microsoft.AspNetCore.Identity.EntityFrameworkCore
  1. 在您的项目中创建一个新的ASP.NET Core Web应用程序,并选择"Web应用程序(模型-视图-控制器)"模板。
  2. 在"创建新的ASP.NET Core Web应用程序"窗口中,选择"带身份验证的单页面应用程序"。
  3. 打开"Startup.cs"文件,并在ConfigureServices方法中添加以下代码:
代码语言:csharp
复制
services.AddIdentity<ApplicationUser, IdentityRole>()
    .AddEntityFrameworkStores<ApplicationDbContext>()
    .AddDefaultTokenProviders();
  1. 在"Models"文件夹中创建一个名为"ApplicationUser.cs"的新类,并继承自"IdentityUser":
代码语言:csharp
复制
using Microsoft.AspNetCore.Identity;

namespace YourApp.Models
{
    public class ApplicationUser : IdentityUser
    {
    }
}
  1. 在"Data"文件夹中创建一个名为"ApplicationDbContext.cs"的新类,并继承自"IdentityDbContext":
代码语言:csharp
复制
using Microsoft.AspNetCore.Identity.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore;
using YourApp.Models;

namespace YourApp.Data
{
    public class ApplicationDbContext : IdentityDbContext<ApplicationUser>
    {
        public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
            : base(options)
        {
        }
    }
}
  1. 在"Controllers"文件夹中创建一个名为"AccountController.cs"的新类,并继承自"Controller":
代码语言:csharp
复制
using System.Threading.Tasks;
using Microsoft.AspNetCore.Identity;
using Microsoft.AspNetCore.Mvc;
using YourApp.Models;

namespace YourApp.Controllers
{
    public class AccountController : Controller
    {
        private readonly UserManager<ApplicationUser> _userManager;

        public AccountController(UserManager<ApplicationUser> userManager)
        {
            _userManager = userManager;
        }

        public async Task<IActionResult> LoggedInUsers()
        {
            var users = await _userManager.GetUsersInRoleAsync("LoggedIn");
            return View(users);
        }
    }
}
  1. 在"Views"文件夹中创建一个名为"Account"的新文件夹,并在其中创建一个名为"LoggedInUsers.cshtml"的新视图:
代码语言:html
复制
@model IEnumerable<YourApp.Models.ApplicationUser>

<h2>Logged In Users</h2><table class="table">
   <thead>
        <tr>
            <th>Username</th>
            <th>Email</th>
        </tr>
    </thead>
   <tbody>
        @foreach (var user in Model)
        {
            <tr>
                <td>@user.UserName</td>
                <td>@user.Email</td>
            </tr>
        }
    </tbody>
</table>
  1. 最后,在"Configure"方法中的"app.UseEndpoints"中添加以下代码:
代码语言:csharp
复制
endpoints.MapControllerRoute(
    name: "logged-in-users",
    pattern: "logged-in-users",
    defaults: new { controller = "Account", action = "LoggedInUsers" });

现在,您可以运行应用程序并访问"/logged-in-users"路径,以查看已登录/已连接的用户列表。

请注意,这个示例仅用于演示目的,您可能需要根据您的实际需求进行调整。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

使用远程登录软件登录 Linux 实例

本文以 PuTTY 软件为例,介绍如何在 Windows 系统本地计算机中使用远程登录软件登录 Linux 实例。...注意 首次通过本地远程登录软件登录 Linux 实例之前,您需要重置用户名( root、ubuntu)密码,或者绑定密钥。具体操作请参考 重置密码 或 管理密钥 文档。...如下图所示: 参数举例说明如下: Host Name(or IP address):轻量应用服务器公网 IP(登录 轻量应用服务器控制台,可在服务器列表获取公网 IP)。...在连接 > 用户身份验证页面,填写腾讯云轻量应用服务器用户名和密码,单击确定。 5. 找到步骤2新建会话,单击连接。...如下图所示: Host Name (IP address):轻量应用服务器公网 IP(登录 轻量应用服务器控制台,可在服务器列表获取公网 IP)。

19110

谈谈用户权限系统

登录还真是一件即便你半天就搞定还是需要好好较一下真的问题。本文回归本源,谈谈登录那些极其重要又被人忽视思想。 首先需要回答一个问题是:要求用户登录目的何在? 这个问题答案是不言而喻。...应用访问列表功能可以类比网络防火墙功能: ?...对于我们举聊天系统例子,具体访问列表可能是这个样子: 所有用户不能进行任何操作 匿名用户只能执行登录/注册操作 登录用户可以创建群组(写) 登录用户可以读取群组列表(读) 登录用户可以加入群组...比如说,登录前小明角色是 [所有用户, 匿名用户],登陆后他角色转化为 [所有用户, 登录用户],当他创建群组A后,并进入群组A后,他角色转化为 [所有用户, 登录用户, A群成员, A群群主...],当他加入群组B,开始聊天时,他角色又转化为 [所有用户, 登录用户, B群成员]。

1.3K40

Vcenter 无法使用授权域账号登陆解决

尝试使用Vcenter server服务器安装 vSphere Client 并选中使用 Windows 会话凭据复选框来登录 vCenter Server 失败,同样提示“由于用户名或密码不正确,...二、原因分析 在加入到域中 Windows 计算机上安装 SSO 时,会同时为本地计算机用户和域创建标识源。对域用户进行身份验证后,SSO 尝试检索用户本地组。...如果 SSO 无法检索这些组,则登录失败并即使用户凭据有效。...三、问题处理: 解决方法一: 使用完整域名称进行登录vmadmin@vsphere.local (二)解决方法二: 通过vSphere Web Client登录,尝试重新添加 vCenter Single...在“标识源类型”选择“Active Directory(集成Windows身份验证)”; ?     点击测试连接,确保测试连接通过。 再登陆就好了。

3.6K10

何在 Linux 列出 Systemd 下所有正在运行服务

Linux系统提供多种系统服务(进程管理、登录、syslog、cron等)和网络服务(远程登录、电子邮件、打印机、虚拟主机、数据存储、文件传输、域名解析等) (使用 DNS)、动态 IP 地址分配(...在本指南[1],我们将演示如何在 Linux 列出 systemd 下所有正在运行服务。...vim ~/.bashrc 然后在别名列表下添加以下行,屏幕截图所示。...从现在开始,使用“running_services”命令查看服务器上所有加载、正在运行服务列表。...在本指南中,我们演示了如何在 Linux 查看 systemd 下正在运行服务。我们还介绍了如何检查正在侦听端口服务以及如何查看在系统防火墙打开服务或端口。

21520

Windows 2016 服务器安全配置和加固「建议收藏」

将“交互式登录: 不显示最后用户名”设置为“启用”状态。...除此之外,还要在命令行中使用 net user 命令查看一遍有没有多余账号(有的账号会在计算机管理隐藏),可以使用 net user /del 命令删除对应账号。...: 不允许 SAM 帐户和共享匿名枚举:启用 网络访问: 将 Everyone 权限应用于匿名用户禁用 帐户: 使用空白密码本地帐户只允许进行控制台登录启用 设置完成之后,在命令行(...“TCP”,下面选择“特定本地端口”,里面输入设置远程登录端口以及Web端口,:80, 433, 3389,然后点击“下一步”按钮;选择“允许连接”,然后点击“下一步”按钮;选中所有的选项,然后点击...“启用”,并在“操作”中选中“阻止连接”,最后“确定”保存即可。

4.1K20

一个海量在线用户即时通讯系统(IM)完整设计

6、 Logic检索Redis,查看是否该用户在其他地方登录。 7、 如果在其他地方登录,发起kickout命令。...如果目标用户不在线,丢弃数据(未来可根据业务场景定制化逻辑);如果用户在线,查询到用户连接接入层gate 3、 Logic向用户所在gate发送数据 4、 Gate向用户推送数据。...(需要使用缓存),获得群成员列表 7、存储每个用户消息数据(用户视图),按照msg_to水平分库(并发、批量写入)。...8、查询用户在线状态及位置 9、Logic向gate投递消息 10、Gate向用户投递消息 11、App返回收到消息ack信息 12、Gate向logic传递ack信息 13、向缓存(Hash)更新收到...Msgid=110(取得到离线消息中最大msgid)。 6、 Im-server删除该用户msgid<110离线消息(或者标记为送达)。 7、 查询msgid>110钱10条离线数据。

2.7K41

工作流组件示例(全部开源)

,并不是根据开始和结束时间 n 待办是否隐藏:是指在用户待办信息,是否过滤掉属于被委托者待办件 3.6.1.5委托列表 功能描述 l 检索 检索条件包括:环节ID,开始和结束时间,是否使用.注:数据本身已经根据模板...直接将模板委托数据删除.此功能实现撤消委托功能,并且将数据直接从Db表删除 3.6.2流程实例 3.6.2.1模块描述 l 左侧为树控件,按流程实例状态类型区分.选中一级结点,加载登录用户此状态流程实例数据...l 检索条件可以根据模板名称,版本,流程实例ID和操作用户过滤.注:若为管理员登录,可使用操作用户检索条件,检索出属于此用户流程实例数据 l 功能命令,采用工具栏布局.包括流转,完结,回退等功能...,供用户选择 u 右侧顶部分,是记录选中用户列表 u 办理权限 Ø 目标环节处理决策:在模板配置时配置环节处理决策,此处允许再次修改.原因:流转到环节情况有多种,包括正常流转,回退,跳转等 Ø 是否允许分发...,过滤出与登录用户在同一组织机构或角色办理用户 n 环节处理决策:是指目标环节处理决策,允许在此处修改 4.1.7模板环节信息.子流程 功能描述 l 环节子流程是指在此环节,允许另外发起某模板.

3K110

一个海量在线用户即时通讯系统(IM)完整设计Plus

6、 Logic检索Redis,查看是否该用户在其他地方登录。 7、 如果在其他地方登录,发起kickout命令。...如果目标用户不在线,丢弃数据(未来可根据业务场景定制化逻辑);如果用户在线,查询到用户连接接入层gate 3、 Logic向用户所在gate发送数据 4、 Gate向用户推送数据。...(需要使用缓存),获得群成员列表 7、存储每个用户消息数据(用户视图),按照msg_to水平分库(并发、批量写入)。...8、查询用户在线状态及位置 9、Logic向gate投递消息 10、Gate向用户投递消息 11、App返回收到消息ack信息 12、Gate向logic传递ack信息 13、向缓存(Hash)更新收到...Msgid=110(取得到离线消息中最大msgid)。 6、 Im-server删除该用户msgid<110离线消息(或者标记为送达)。 7、 查询msgid>110钱10条离线数据。

2.8K20

一个海量在线用户即时通讯系统(IM)完整设计Plus

6、 Logic检索Redis,查看是否该用户在其他地方登录。 7、 如果在其他地方登录,发起kickout命令。...如果目标用户不在线,丢弃数据(未来可根据业务场景定制化逻辑);如果用户在线,查询到用户连接接入层gate 3、 Logic向用户所在gate发送数据 4、 Gate向用户推送数据。...(需要使用缓存),获得群成员列表 7、存储每个用户消息数据(用户视图),按照msg_to水平分库(并发、批量写入)。...8、查询用户在线状态及位置 9、Logic向gate投递消息 10、Gate向用户投递消息 11、App返回收到消息ack信息 12、Gate向logic传递ack信息 13、向缓存(Hash)更新收到...Msgid=110(取得到离线消息中最大msgid)。 6、 Im-server删除该用户msgid<110离线消息(或者标记为送达)。 7、 查询msgid>110钱10条离线数据。

5.1K72

开发者openshift4使用入门教程 - 9 - 通过IDE插件无缝衔接

希望对在使用OpenShift 4开发者会有所帮助. ❤️❤️❤️ 一 概述 一句话总结本文内容: 如何在Idea等IDE中使用OpenShift 4 插件....插件将检测到这些依赖项,并在缺少或不支持版本情况下提示用户进行安装- Download & Install在看到有关缺少工具通知时选择该选项。...使用扩展 连接到您OpenShift实例 在Visual Studio Code安装了扩展程序之后,它将提示您下载所需依赖项(oc,odo)。...提供群集URL以连接到正在运行OpenShift实例。 现在,您可以使用以下方法登录到服务器: 凭据:使用给定凭据(基本身份验证)登录到给定服务器。...应用程序可用于组件操作 Component -> Create URL –将组件暴露给外界。使用此命令生成URL可用于从群集外部访问部署组件。

3.7K20

一套十万级TPSIM综合消息系统架构实践与思考

6)位置服务:存储link(WebSocket协议)连接、tcp连接等信息,并使用redis进行缓存(key为userId),方便根据UserId查询到该用户登录客户端连接在哪个link上。...一个用户在相同设备只能登录一个,但可以支持多端登录。7)用户服务:用于存储所有用户,提供认证查询接口。8)消息盒子:存储所有消息,提供消息查询、消息读未读、消息未读数、消息检索等功能。...,并大大增加了系统io次数(原因见上一节);4)一些特性无法支持,比如消息图文检索,消息读未读。...、路由能力,每台消息分发服务拥有所有link服务tcp连接;5)单聊服务:负责单聊会话管理能力;6)群聊服务:负责群聊会话管理能力;7)用户服务:提供用户认证,登录\注册能力。...同时,内部通信系统需要根据im实现消息读未读,群聊列表,会话列表拉取等功能。8、本文小结im综合消息平台是一款需要高度结合业务中间件系统,它直接与业务打交道,跟普通中间件有根本区别。

90330

内网渗透 | 基于IPC横向移动

IPC$作用 利用IPC$,连接者可以与目标主机建立一个连接,利用这个连接连接者可以得到目标主机上目录结构、用户列表等信息。...【原因很明显了】 错误号 1385,登录失败:未授予用户在此计算机上请求登录类型 --- 情况1:可能是你在“拒绝从网络访问这台计算机”功能拒绝了该用户访问,解决方法如下: 开始-->运行-->gpedit.msc...,因为当你连接用户不存在时,net use会默认用Guest用户来进行连接,而Guest用户拒绝从网络访问,所以也会出现这种错误 --- 错误号 1792,试图登录,但是网络登录服务没有启动【目标NetLogon...use 3.查看建立连接目标主机共享资源 net view \\192.168.1.1 4.查看目标主机时间 net time \\192.168.1.1 5.查看目标主机NetBIOS用户(自己本机也需开启...) nbtstat -A 192.168.1.1 6.删除本机与指定ip建立连接 net use \\192.168.1.1\ipc$ /del /y 7.删除本机所有建立连接 net use *

5.2K10

感官分析软件(APPsense)用户手册

:192.168.0.110;然后在浏览器地址栏,输入http://192.168.0.110:8086/,即可打开登录主界面。...用户登录界面:http://192.168.0.110:8086/(示例),依据本地网络连接IP地址修改。 2.2 用户管理 在用户管理菜单下依次(注意顺序)维护“角色管理→权限管理→用户维护”。...); —评价依据:该实验方法来源国标、ISO标准等; —实验日期:感官分析师预计实施该实验日期; —产品分类:选择用户录入类型(需要先行维护,非必填项); —时间间隔:通常为15秒,感官分析师可以依据方法和经验设定...第六章评价员表现评估 6.1评价员出勤统计 点“表现评估”,点“出勤统计”,按检索条件查询后即可把统计列表导出(Excel)。...第七章 帮助 本部分包括各种感官分析方法简介、用户操作中常见问题及解决方案、供参考使用参比样库等内容,用户点击相应连接即可查阅。

2.6K50

使用FTP

默认情况下,当%Net.FtpSession实例连接到SSL/TLS服务器时,它会检查证书服务器名称是否与用于连接到服务器DNS名称匹配。如果这些名称不匹配,则不允许连接。...注意:%Net.FtpSession每个方法都返回一个状态,应该检查该状态。这些方法还设置提供有关会话状态有用信息属性值:如果当前连接,则CONNECTED为TRUE,否则为FALSE。...还可以使用ChangeUser()方法更改为其他用户;这比注销并再次登录要快。使用Logout()方法注销。System()方法返回(通过引用)有关托管FTP服务器计算机类型信息。...例如,通过这样做,可以向用户提供服务器仍在处理大型传输指示,或允许用户中止传输。要自定义FTP回调,请执行以下操作:创建%Net.FtpCallback子类。...创建FTP会话时(“建立FTP会话”中所述),将回调属性设置为等于子类%Net.FtpCallback。

11.4K10

basler相机sdk开发例子说明——c++

各个工程作用: DeviceRemovalHandling 这个示例程序演示了如何移除相机设备。它还显示如何重新连接删除设备.。...缓冲区填充完毕后,可以从相机对象检索缓冲区进行处理.。在抓取结果收集缓冲区和附加图像数据。抓取结果由智能指针在检索后保持.。当显式释放或智能指针对象被销毁时,缓冲区将自动重复使用.。...可接收由PC前图像数据为成品曝光已完全转移。此示例说明如何在照相机事件消息数据时通知. 收到。 事件信息自动检索和处理instantcamera类。...该通知不包含有关删除多少个或多个事件特定信息.。 如果事件以非常高频率产生,如果没有足够带宽来发送事件,事件可能会被丢弃。 在这个示例显示如何注册事件处理程序,指示由相机发送事件到来.。...名称和参数节点类型可以在巴斯勒塔程序员指南和API参考,在相机用户手册,相机文件登记结构和访问方法(如果适用),并利用塔查看器工具 x y offsetheight width ParametrizeCamera_LoadAndSave

3.8K41

网络常用命令3

命令 A.显示当前工作组服务器列表 net view,当不带选项使用本命令时,它就会显示当前域或网络上计算机上列表。...B.查看计算机上用户帐号列表 net user C.查看网络链接 net use 例如:net use z: \\192.168.10.8\movie 将这个IPmovie共享目录映射为本地Z...存储命令 计划命令存储在注册表。这样,如果重新启动"计划"服务,则不会丢失计划任务。 连接到网络驱动器 对于需要访问网络计划作业,请不要使用重新定向驱动器。"...中断连接 本地计算机断开连接,并正等待远程系统的确认。 只有当网际协议 (TCP/IP) 协议在 网络连接安装为网络适配器属性组件时,该命令才可用。...只要提供适当用户帐户和密码信息,用户帐户就具有登录到计算机能力,并且程序、MMC 控制台、"控制面板"项在系统及对该用户帐户均可用.

1.1K20

MySQL 【教程一】

,则用该命令可以对其进行强力删除 安装 MySQL: 接下来我们在 Centos7 系统下使用 yum 命令安装 MySQL,需要注意是 CentOS 7 版本 MySQL数据库已从默认程序列表移除...你可以在以上实例看到用户密码加密后为: 6f8c114b58f2ce9e. 注意:在 MySQL5.7 user 表 password 换成了authentication_string。...在以上实例,我们使用了root用户登录到mysql服务器,当然你也可以使用其他mysql用户登录。 如果用户权限足够,任何用户都可以在mysql命令提示窗口中进行SQL操作。...如果没有指定 link_identifier则关闭上一个打开连接。 提示:通常不需要使用 mysqli_close(),因为打开非持久连接会在脚本执行完毕后自动关闭。...它们最大长度和是否尾部空格被保留等方面也不同。在存储或检索过程不进行大小写转换。

1.5K30
领券