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

在线解压缩网站360竞价推广

在线解压缩网站,360竞价推广,赌博 网站 建设,工程设计公司ShenNiusModularity项目有两套启动方式,一种是ShenNius.Admin.Mvc项目启动,该项目为MVC模式,带前台页面,也有后台服务,另一种是ShenNius.Admin.Hosting,该项目启动后仅提供后台服务,供其它前台项…

  ShenNiusModularity项目有两套启动方式,一种是ShenNius.Admin.Mvc项目启动,该项目为MVC模式,带前台页面,也有后台服务,另一种是ShenNius.Admin.Hosting,该项目启动后仅提供后台服务,供其它前台项目调用。本文学习并分析ShenNius.Admin.Mvc项目中的身份认证方式。
  ShenNiusModularity项目启动时,在ShenNius.Admin.Mvc项目的Program文件内,调用ShenniusAdminMvcModule,其内部又依赖ShenNius.Admin.API项目的ShenniusAdminApiModule类,在该类中,启动时根据启动项目中的JwtSetting设置判断是否启动jwt身份认证。ShenNius.Admin.Mvc项目的appsettings.json没有相关jwt设置,因此采用基于Cookie的身份认证方式,主要代码如下所示:

 context.Services.AddAuthentication(CookieAuthenticationDefaults.AuthenticationScheme).AddCookie(CookieAuthenticationDefaults.AuthenticationScheme, o =>{o.Cookie.Name = "ShenNius.Admin.Mvc";o.LoginPath = new PathString("/sys/user/login");o.LogoutPath = new PathString("/sys/user/Logout");o.Cookie.HttpOnly = true;});

  在Admin.Areas.Sys.Controllers.UserController的Login函数内,当通过用户验证后,会将用户名称、上次登录时间、电话、邮箱、是否管理员等信息保存为ClaimsPrincipal对象实例内,并调用HttpContext.SignInAsync函数将信息保存到Cookie内。

var identity = new ClaimsPrincipal(new ClaimsIdentity(new[]{new Claim(JwtRegisteredClaimNames.Sid,result.Id.ToString()),new Claim(ClaimTypes.Name,result.LoginName),new Claim(ClaimTypes.WindowsAccountName,result.LoginName),new Claim(ClaimTypes.UserData,result.LastLoginTime.ToString()),new Claim(ClaimTypes.MobilePhone,result.Mobile),new Claim(ClaimTypes.Email,loginModel.Email),new Claim("TrueName",result.TrueName),new Claim("TenantId",result.TenantId.ToString()),new Claim("IsAdmin",isAdmin.ToString())}, CookieAuthenticationDefaults.AuthenticationScheme));
await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, identity, new AuthenticationProperties
{ExpiresUtc = DateTime.UtcNow.AddHours(24),IsPersistent = true,AllowRefresh = false
});

  项目采用接口IShenNiusContext及其实现类ShenNiusContext获取当前登录用户信息,其内部实现也是从HttpContext.User属性中获取用户名等信息,在此不再赘述,有兴趣的可以查看ShenNius.Infrastructure.ShenNiusContext源码。该接口在项目启动时已注册服务。

context.Services.AddScoped<IShenNiusContext, ShenNiusContext>();

参考文献:
[1]https://gitee.com/shenniu_code_group/shen-nius.-modularity

http://www.hkea.cn/news/820425/

相关文章:

  • 建网站怎么挣钱的学seo推广
  • 自如网站做的好 服务哪个网站学seo是免费的
  • 国外网站阻止国内访问怎么做竞价推广工具
  • 建设一个网站需要哪些方面的开支百度人工客服
  • 品牌网站建设-建站之路最新疫情新闻100字
  • 东莞网站优化科技有限公司怀柔网站整站优化公司
  • 郑州网站建设联系方式外链是什么意思
  • 用wordpress做网站教程电脑优化大师有用吗
  • 佛山企业网站制作今日热点新闻事件
  • 企业网站网络推广黑帽seo培训
  • 欧美做的爱爱网站有哪些广告推广赚钱
  • 泉州网站建设工作室谷歌seo价格
  • 国建设委员会网站百度推广一天烧几千
  • 做网站 花园路国贸营销推广方案包括哪些内容
  • 做商城网站哪里买口碑营销属于什么营销
  • 鞋子 东莞网站建设真正的免费建站在这里
  • 网站上微信的链接怎么做项目平台
  • 做网站后有人抢注关键词网络营销方案策划论文
  • 苏州网站建设网站seo优化的方法
  • 设计网装修seo顾问服
  • 网站ip拦截免费网站搭建平台
  • 深圳企业网站建设公司快速申请免费个人网站
  • 唯品会 一家专门做特卖的网站沈阳seo按天计费
  • 聊城手机网站建设郑州seo服务技术
  • 个人定做衣服店江门seo推广公司
  • 网站开发与网站建设山东济南seo整站优化费用
  • 香港疫情最新消息今天深圳seo教程
  • 维护一个网站难吗免费发布外链
  • 南安市网站建设成都今天重大新闻事件
  • 网站后台补丁如何做软文有哪几种类型