当前位置: 首页 > wzjs >正文

衣联网和一起做网站。哪家强it学校培训学校哪个好

衣联网和一起做网站。哪家强,it学校培训学校哪个好,有免费网站推荐吗,广告设计软件下载思路:Web项目中,需要根据当前登陆的用户,查询当前用户所属的数据、添加并标识对象等。根据请求头Authorization 中token,获取Redis中存储的用户对象。 本做法需要完成 基于StackExchange.Redis 配置,参考:…

思路:Web项目中,需要根据当前登陆的用户,查询当前用户所属的数据、添加并标识对象等。根据请求头Authorization 中token,获取Redis中存储的用户对象。

本做法需要完成 基于StackExchange.Redis 配置,参考:Asp.Net Core基于StackExchange Redis 缓存-CSDN博客

NuGet安装

Microsoft.AspNetCore.Http.Abstractions

1.接口

public interface IUserService
{Task<OMUserInfo> GetUserInfoAsync(string token);Task<OMUserInfo> GetCurrentUserAsync();
}

2.用户对象

public class OMUserInfo
{public Guid UId { get; set; }public string UName { get; set; }public string TrueName { get; set; }public string Mobile { get; set; }public bool IsAdmin { get; set; }public string Department { get; set; }public string UType { get; set; }public string OId { get; set; }public string Token { get; set; }public DateTime ExpireDateTime { get; set; }
}

3.实现

public class OMUserService : IUserService
{private readonly IRedisService _redisService;private readonly IHttpContextAccessor _httpContextAccessor;public OMUserService(IRedisService redisService,IHttpContextAccessor httpContextAccessor){_redisService = redisService;_httpContextAccessor = httpContextAccessor;}public async Task<OMUserInfo> GetCurrentUserAsync(){var token = GetTokenFromHeader();if (string.IsNullOrEmpty(token))return null;return await GetUserInfoAsync(token);}public async Task<OMUserInfo> GetUserInfoAsync(string token){var userKey = $"user:{token}";return await _redisService.StringGetAsync<OMUserInfo>(userKey);}private string GetTokenFromHeader(){var authHeader = _httpContextAccessor.HttpContext?.Request.Headers["Authorization"].ToString();return authHeader?.Replace("Bearer ", "", StringComparison.OrdinalIgnoreCase);}
}

4.注入

Asp.Net Core项目Nuget添加 Microsoft.Extensions.Caching.StackExchangeRedis

 // 添加HttpContext访问器builder.Services.AddHttpContextAccessor();//注册用户服务// 注册Redis服务(使用之前实现的IRedisService)builder.Services.AddStackExchangeRedisCache(options =>{options.Configuration = builder.Configuration.GetConnectionString("Redis");});builder.Services.AddScoped<IUserService, OMUserService>();

5.控制器中使用

private readonly IRedisService _redis;
private readonly IUserService _userService;
public TestController(IRedisService redis, IUserService userService) 
{_redis = redis;_userService = userService;
}[HttpGet("string")]
public async Task<IActionResult> TestString()
{var user = await _userService.GetCurrentUserAsync();Console.WriteLine(user.TrueName);await _redis.StringSetAsync("anna","多慢慢");var result = await _redis.StringGetAsync<string>("anna");return Ok(result);
}

http://www.dtcms.com/wzjs/133170.html

相关文章:

  • 新浪网站是什么程序做的查淘宝关键词排名软件有哪些
  • 服装网站建设建议郑州seo培训
  • 怎么创建一个网站做草根站长海外营销方案
  • 深圳网站制作google免登录网页版
  • 网站建设百度云友情链接平台网站
  • html标签代码大全微博seo营销
  • 网站建设费用多少钱如何制作网址
  • 万网网站建设步骤百度推广助手客户端
  • 自己建服务器做网站违法网络竞价推广开户
  • wordpress主题调用插件seo快速排名利器
  • 做搜狗网站优化排软件开发培训机构去哪个学校
  • 支付网站怎么做的如何进行网站宣传推广
  • asp网站后台模板seo短视频保密路线
  • 网站访客统计代码快速刷排名的软件最好
  • 化工外贸网站建设搜索引擎排名优化seo
  • 加强网站建设的通知互联网营销师培训课程免费
  • 新网站建设平台chrome浏览器官网入口
  • 淮南做网站推广开鲁网站seo站长工具
  • 网站建设鼠标移动变颜色百度网盘app免费下载安装老版本
  • 宁波 外贸b2c网站建设免费下载百度seo
  • 现在网站做多宽的怎样推广网站
  • 找别人做网站注意什么企业网站推广方案
  • 北京网站优化页面百度一下 你就知道官方
  • 江西住房和城乡建设部网站首页网站建设网络公司
  • 公众号和网站先做哪个比较好上海优化seo
  • 专业网站建设排名优化设计官方电子版
  • 建筑资料免费下载网站长沙网站建站模板
  • 佛山购物网站建设线下推广渠道和方式
  • 网站建设可行分析性报告品牌建设
  • java做网站的好处深圳优化公司找高粱seo服务