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

获取IdentityServer4和ASP.net核心中的当前用户名

IdentityServer4是一个开源的身份验证和授权框架,用于构建安全的ASP.NET Core应用程序。它提供了一种集中式的身份验证和授权解决方案,可以用于保护Web API、单页应用程序和移动应用程序等。

ASP.NET Core是一个跨平台的开源框架,用于构建现代化的Web应用程序。它具有高性能、可扩展性和灵活性的特点,可以在Windows、Linux和macOS等操作系统上运行。

要获取IdentityServer4和ASP.NET Core中的当前用户名,可以通过以下步骤实现:

  1. 在ASP.NET Core应用程序中,首先需要配置IdentityServer4。可以使用IdentityServer4的NuGet包来安装和配置IdentityServer4。
  2. 在应用程序的控制器或服务中,可以使用ASP.NET Core的内置身份验证中间件来获取当前用户的身份信息。可以通过注入HttpContextAccessor来访问当前HTTP上下文,然后使用User属性来获取当前用户的身份信息。
代码语言:csharp
复制

using Microsoft.AspNetCore.Http;

public class MyService

{

代码语言:txt
复制
   private readonly IHttpContextAccessor _httpContextAccessor;
代码语言:txt
复制
   public MyService(IHttpContextAccessor httpContextAccessor)
代码语言:txt
复制
   {
代码语言:txt
复制
       _httpContextAccessor = httpContextAccessor;
代码语言:txt
复制
   }
代码语言:txt
复制
   public string GetCurrentUserName()
代码语言:txt
复制
   {
代码语言:txt
复制
       return _httpContextAccessor.HttpContext.User.Identity.Name;
代码语言:txt
复制
   }

}

代码语言:txt
复制

上述代码中的GetCurrentUserName方法可以返回当前用户的用户名。

  1. 在ASP.NET Core中,可以使用依赖注入来注入IHttpContextAccessorMyService等服务。可以在控制器或其他地方使用MyService来获取当前用户名。
代码语言:csharp
复制

public class MyController : Controller

{

代码语言:txt
复制
   private readonly MyService _myService;
代码语言:txt
复制
   public MyController(MyService myService)
代码语言:txt
复制
   {
代码语言:txt
复制
       _myService = myService;
代码语言:txt
复制
   }
代码语言:txt
复制
   public IActionResult Index()
代码语言:txt
复制
   {
代码语言:txt
复制
       string currentUserName = _myService.GetCurrentUserName();
代码语言:txt
复制
       // 处理当前用户名
代码语言:txt
复制
       return View();
代码语言:txt
复制
   }

}

代码语言:txt
复制

通过上述步骤,可以获取到IdentityServer4和ASP.NET Core中的当前用户名。这样可以根据需要在应用程序中进行进一步的处理和使用。

腾讯云提供了一系列与身份验证和授权相关的产品和服务,例如腾讯云身份认证服务(CAM)和腾讯云API网关等。您可以访问腾讯云官方网站(https://cloud.tencent.com/)了解更多关于这些产品和服务的详细信息。

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

相关·内容

Asp.Net Core 中IdentityServer4 实战之角色授权详解

IdentityServer4 历史文章目录 Asp.Net Core IdentityServer4基本概念 Asp.Net Core 中IdentityServer4 授权中心之应用实战 Asp.Net...Core 中IdentityServer4 授权中心之自定义授权模式 Asp.Net Core 中IdentityServer4 授权原理及刷新Token应用 Asp.Net Core 中IdentityServer4...user == null) throw new Exception("登录失败,用户名密码不正确"); return new List()...先来通过普通用户(testNormal)请求授权中心获得access_token,如下图: 请求验证通过, 再来通过获取access_token 获取普通接口: 也完美获取到数据 再来访问下标注了...,但是对于一个庞大系统来说,用户权限、角色API资源是后台灵活可以分配,这种场景感觉就不是很合适,那IdentityServer4 有没有什么好方式实现呢?

47320

eShopOnContainers 知多少:Identity microservice

而如何实现呢,借助: ASP.NET Core Identity IdentityServer4 基于Cookie认证基于Token认证差别如下所示: ?...下面就着重讲解ASP.NET Core IdentityIdentityServer4在本服务中使用。...而IdentityServer4就是为ASP.NET Core量身定制实现了OpenId ConnectOAuth2.0协议认证授权中间件。...最后 本文从业务技术上对本服务进行剖析,介绍了其技术选型,并紧接着简要介绍了ASP.NET Core IdentityIdentityServer4,最后分析源码,一步步揭开其神秘面纱。...如果对ASP.NET Core IdenityIdentityServer4不太了解,建议大家博客园阅读雨夜朦胧、晓晨MasterSavorboard 博客进行系统学习后,再重读本文,相信你对Identity

2.8K20

Asp.Net Core 中IdentityServer4 实战之 Claim详解

上几篇文章主要分享了IdentityServer4Asp.Net Core 3.x 中应用,在上面的几篇分享中有一部分博友问了我这么一个问题"他通过IdentityServer4 来搭建授权中心网关服务...世界 Asp.Net Core IdentityServer4基本概念 Asp.Net Core 中IdentityServer4 授权中心之应用实战 Asp.Net Core 中IdentityServer4...授权中心之自定义授权模式 Asp.Net Core 中IdentityServer4 授权原理及刷新Token应用 二、Claim 是什么 Claim Claim 我理解是一个声明,存储着一个键值对关系...我们先在授权中心(ids4)服务中验证用户代码中添加用户相关Claims,核心代码如下:不熟悉请先移步Asp.Net Core 中IdentityServer4 授权中心之应用实战 这篇文章 public...下篇文章再来分享具体原理流程);再经过受保护Api资源网关中通过ClaimsPrincipal身份容器载体获得当前用户相关信息后就可以做一些基于角色授权及业务相关事情。

1.3K20

Asp.net Core IdentityServer4 入门教程(一):概念解析

目录 1、IdentityServer4 是什么 2、什么是OpenIDOAuth 2.0协议 3、IdentityServer4 可以用来做什么 其他 1、IdentityServer4 是什么 IdentityServer4...是使用 ASP.NET Core实现了OpenIDOAuth 2.0协议身份认证框架;重复一遍,它是一个框架;框架决定它不是一个开箱即用产品,需要根据自己需求进行定制;同时也意味着更高灵活性...网站填写A网站注册OpenID,然后统一跳到A网站去验证; 验证成功后,会跳转回B、C、D网站,成功登录; 如果是用用户名登录B、C、D网站的话,要分别准备3套用户名密码;使用以上OpenID...: 用户点击授权,京东得到一个授权token,然后京东通过授权token获取微信头像;授权页面如下图。...,每个后台单独使用一套用户名密码将非常麻烦,这个使用IdentityServer4亦可轻松使用一套用户名密码登录各个业务系统; (5)高度自由定制 还用更多使用场景,可自行发掘; 其他 官方文档

3K31

IdentityServer4 知多少

IdentityServer4就是这样一个框架,IdentityServer4是为ASP.NET CORE量身定制实现了OpenId ConnectOAuth2.0协议认证授权中间件。...允许用户授权第三方移动应用访问他们存储在其他服务商上存储私密资源(如照片,视频,联系人列表),而无需将用户名密码提供给第三方应用。...OAuth允许用户提供一个令牌而不是用户名密码来访问他们存放在特定服务商上数据。每一个令牌授权一个特定网站内访问特定资源(例如仅仅是某一相册中视频)。...而IdentityServer4是为ASP.NET CORE量身定制实现了OpenId ConnectOAuth2.0协议认证授权中间件。...最后 本文通过介绍IdentityServer4涉及到术语相关概念,再结合官方实例,梳理了集成IdentityServer4大致思路。

2.9K20

.NET Core微服务之基于IdentityServer建立授权与验证服务

另外savaboardASP.NET Core 之 Identity 入门(一)》ASP.NET Core 之 Identity 入门(二)》这两篇也可以一看,对ClaimsIdentity基本知识讲比较通俗易懂...重点关注一下上面这张图(也是来自solenovex文章),对于一个User(已注册)来说,他会首先向Authorization Server表明自己身份(比如输入用户名密码),然后Authorization...二、IdentityServer极简介绍   IdentityServer4(这里只使用版本号为4)是一个基于OpenID ConnectOAuth 2.0针对ASP.NET Core 2.0框架...IdentityServer是将规范兼容OpenID ConnectOAuth 2.0终结点添加到任意ASP.NET Core应用程序中间件。...(这里输入了一个不在定义列表中client_id)   Step4.查看控制台日志信息:表示获取Token这个请求成功了,日志中client_secretpassword都是不会直接明文显示

1.7K60

ASP.NET Core分布式项目实战(oauth2 + oidc 实现 server部分)--学习笔记

任务15:oauth2 + oidc 实现 server部分 基于之前快速入门项目(MvcCookieAuthSample): ASP.NET Core快速入门(第5章:认证与授权)--学习笔记.../5/material/217/download 把这个 MVC 注册登录网站变成一个单点登录,现在它是自己登录自己使用,我们需要把它登录信息返回给第三方 添加 identityserver4 引用...在 startup 中 using IdentityServer4; 按照之前文章添加 Config.cs using System.Collections; using System.Collections.Generic...; }); } 我们已经把 IdentityServer4 添加到 MVC 程序中,接着需要在 Controller 中实现这个逻辑 首先注释 AccountController 原先登录逻辑...,我们需要验证用户名密码,前面我们在 Config 中添加了 TestUser,它被放在 TestUserStore 中,可以通过依赖注入引用进来,有了它之后就可以在登录时候拿到用户名密码 private

67220

ABP从入门到精通(4):使用基于JWT标准Token访问WebApi

项目:asp.net zero 4.2.0 .net core(1.1) 版本 我们做项目的时候可能会遇到需要提供api给app调用,ABP动态生成WebApi提供了方便基于JWT标准Token访问方式供我们访问...JWT声明一般被用来在身份提供者和服务提供者间传递被认证用户身份信息,以便于从资源服务器获取资源,也可以增加一些额外其它业务逻辑所必须声明信息,该token也可直接被用于认证,也可被加密。...这里就不详细介绍JWT了,JWT详细介绍可以查看简书这篇文章,写得非常详细:http://www.jianshu.com/p/576dbf44b2ae 二.ABPWebApi访问控制 asp.net...zero core是通过IdentityServer4来实现认证、授权,关于IdentityServer4介绍可以查看我前面的博文 ASP.NET Core身份认证服务框架IdentityServer4...三.申请Token http://localhost:4999 项目地址 ABP已经为我们实现好了Token获取验证。 需要注意是配置ServerRootAddress,如下图 ?

2.4K30

【One by One系列】IdentityServer4(二)使用Client Credentials保护API资源

IdentityServer4是实现了OAuth2.0+OpenId Connect两种协议优秀第三方库,属于.net生态中优秀成员。可以很容易集成至ASP.NET Core,颁发token。...声明可能包括用户名称、电子邮件地址等。 API资源表示用户可通过访问令牌访问受保护数据或功能。API 资源一个示例是要求授权 Web API(或 API集合)。...用于签名凭据(credentials) 用户可能会请求访问Identity资源API资源 会请求获取token客户端 用户信息存储机制,如ASP.NET Core Identity或者其他机制...IdentityServer4 使用自定义 IClientStore 类型提供内存中资源客户端示例配置: public IServiceProvider ConfigureServices(IServiceCollection...In-Memory Stores and Test Users:添加内存中用户认证信息,测试用户 Quickstart UI (UI assets only):UI 2.创建ASP.NET Core

2.2K30

Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)

从到到位搭一个这样框架,会累死我滴,可能还要经过很长时间测试呢!别担心,这时候就体现出Asp.Net Core社区强大了,我们主角IdentityServer4闪亮登场!...IdentityServer4是一套为 ASP.NET Core 2.0开发基于OpenID Connect OAuth 2.0 框架,他能让我们系统很轻松就能很多认证以及授权相关功能,比如...如果不清楚的话可以参考晓晨Master这篇“ASP.NET Core身份认证框架IdentityServer4(3)-术语解释”文章。...Asp.Net Core Web Api中如何使用IdentityServer4呢?...在请求头上加入我们获取token信息,来再次访问下: ? ? Asp.Net Core Web Api图片上传接口集成Identity Server 4安全认证实例教程到此结束了。

93340

Asp.NetCoreWebApi图片上传接口(二)集成IdentityServer4授权访问(附源码)

从到到位搭一个这样框架,会累死我滴,可能还要经过很长时间测试呢!别担心,这时候就体现出Asp.Net Core社区强大了,我们主角IdentityServer4闪亮登场!...IdentityServer4是一套为 ASP.NET Core 2.0开发基于OpenID Connect OAuth 2.0 框架,他能让我们系统很轻松就能很多认证以及授权相关功能,比如...如果不清楚的话可以参考晓晨Master这篇“ASP.NET Core身份认证框架IdentityServer4(3)-术语解释”文章。...Asp.Net Core Web Api中如何使用IdentityServer4呢?...在请求头上加入我们获取token信息,来再次访问下: ? ? Asp.Net Core Web Api图片上传接口集成Identity Server 4安全认证实例教程到此结束了。

1K10

.NETC# 如何获取当前进程 CPU 内存占用?如何获取全局 CPU 内存占用?

都知道可以在任务管理器中查看进程 CPU 内存占用,那么如何通过 .NET 编写代码方式来获取到 CPU 内存占用呢?...---- 获取全局 CPU 内存占用 要获取到全系统中 CPU 占用率,获取全系统中内存占用,需要首先分别创建这两者性能计数器: 1 2 3 4 // 创建对 CPU 占用百分比性能计数器。...时,构造函数中传入参数是固定,或者说必须跟当前系统中安装计数器计数器类别的名称(categoryName,第一个参数)计数器名称(counterName,第二个参数)对应。...获取当前进程 CPU 内存占用 在了解 PerformanceCounter 各个参数代表含义之后,我们还可以获取到单个进程性能计数。...Working Set 进程占用物理内存大小。由于包含共享内存部分其他资源,所以其实并不准;但这个值就是在任务管理器中看到值。

2.8K50

win10 uwp 获取窗口坐标宽度高度 获取可视范围获取当前窗口坐标宽度高度获取最前窗口范围

本文告诉大家几个方法在 UWP 获取窗口坐标宽度高度 获取可视范围 获取窗口可视大小 Windows.UI.ViewManagement.ApplicationView.GetForCurrentView...().VisibleBounds 获取当前窗口坐标宽度高度 Window.Current.Bounds 获取最前窗口范围 通过 Win32 Api 获取最前窗口范围 IntPtr hWID...E5%8F%A3%E7%9A%84%E5%9D%90%E6%A0%87%E5%92%8C%E5%AE%BD%E5%BA%A6%E9%AB%98%E5%BA%A6.html ,以避免陈旧错误知识误导...,同时有更好阅读体验。...欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://lindexi.gitee.io ),不得用于商业目的,基于本文修改后作品务必以相同许可发布。

3.7K30
领券