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

动态网站开发设计思路百度推广seo

动态网站开发设计思路,百度推广seo,设计一个全面了解湖南的网站,公司网站建设属于什么职位思路: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/285389.html

相关文章:

  • wordpress 前端注册seo营销外包公司
  • 网站建设中网页模板搜索引擎优化技术
  • 咸宁网站建设中国国家数据统计网
  • 做三级分销网站公司百度高级搜索网址
  • 如何建立新的企业网站营销方式有哪些
  • 网站单页做301百度地图推广
  • 做宣传单赚钱的网站郑州做网站最好的公司
  • 区块链做网站都有哪些内容呢宁波网站建设
  • 福田网站建设哪家好线上平台怎么推广
  • 制作网站微信登陆入口阿里云万网域名查询
  • 重型机械网站开发模版视频优化是什么意思
  • 网站建设数据库放哪关键词搜索广告
  • 做糕点的网站有哪些青岛网站建设公司电话
  • 微信公众号的网站开发合肥360seo排名
  • 三台网站建设哪家专业每天看七个广告赚40元的app
  • 商业门户网站怎么运营关键词优化怎么优化
  • 网络营销是什么系seo免费推广
  • 太平洋网站开发谷歌 翻墙入口
  • 杭州行业网站建设北京seo排名公司
  • 个人网站建设的花费网络seo培训
  • 网站怎么做一盘优化排名百度直接打开
  • 班组安全建设 网站中国网络营销公司排名
  • 建设工程有限公司 网站深圳网站建设推广优化公司
  • 保定 网站建设2023近期舆情热点事件
  • 个人主页网站html百度电脑版
  • wordpress获取系统日期seo怎么弄
  • 做招聘的网站有哪些互联网推广与营销
  • 学电商一般月收入多少专业全网优化
  • 拼团购物网站怎么做排名优化网站seo排名
  • wordpress 语言文件上海正规seo公司