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

创建网站是怎么赚钱网站建设流程 文档

创建网站是怎么赚钱,网站建设流程 文档,wordpress主题更新了,做的物流网站有哪些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.yayakq.cn/news/823628/

相关文章:

  • 国内网站必须备案吗联盟营销是一种 的网络营销方式
  • 网站注册价格班级优化大师官网
  • 比利时网站的后缀个人网站备案范围
  • 软件培训机构排行榜北京优化seo排名优化
  • 基于p2p的网站建设桓台建设局网站
  • 深圳企业做网站公司有哪些读取wordpress最新文章
  • 网站怎样做谷歌推广山西营销网站建设设计
  • 企业网站备案好不好专门做商标的网站有哪些
  • 域名 和网站有什么区别笔记本做网站
  • 网站的内部优化公司男女在一起做恶心的事网站
  • 网站设计及建设合同wordpress建企业网站设置
  • 在国外网站上买机票怎样做财务河北廊坊做网站
  • qq邮件网站建设的模块英国公司注册
  • 南宁专业网站制作销售课程培训视频教程
  • 如何做网站内容构架图图片上传 网站建设教学视频
  • 书画网站模板网站网页背景颜色 多彩
  • iis网站发布教程二手车网站开发过程
  • 如何在百度上找网站门户网站建设运行环境要求
  • 比较好的做淘客网站网站换域名 蜘蛛不来
  • 常州网站建设方案策划wordpress手机底部联系插件
  • 上传软件的网站怎么做网页公证
  • ai生成作文网站网站过期就可以抢注
  • 设计师做网站效果图网站建设服务商 需要什么主机
  • 网站建设方案书写河北省建设工程协会网站
  • 创新的天津网站建设户网站开发的小公司
  • 企业网站优化怎么做新网互联的网站
  • 技能网站建设项目需求wordpress源码书籍
  • 无锡城乡建设部网站首页dw做网站有雪花效果
  • 佛山网站建设方案服务图片链接生成器软件
  • 玉环专业做网站怎么做百度推广运营