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

网站建设平台合同兰州seo网站建设

网站建设平台合同,兰州seo网站建设,wordpress登录缓存,中文wordpress接上一篇#xff0c;众所周知一个网站的用户登录是非常重要#xff0c;一站式的登录#xff08;SSO#xff09;也成了大家讨论的热点。微软在这个Demo中#xff0c;把登录单独拉了出来#xff0c;形成了一个Service#xff0c;用户的注册、登录、找回密码等都在其中进行…接上一篇众所周知一个网站的用户登录是非常重要一站式的登录SSO也成了大家讨论的热点。微软在这个Demo中把登录单独拉了出来形成了一个Service用户的注册、登录、找回密码等都在其中进行。 这套service是基于IdentityServer4开发的 它是一套基于 .Net Core的OAuth2和OpenID框架这套框架目前已经很完善了我们可以把它使用到任何项目中。 我们先看下目录结构 frameborder0 scrollingno styleborder-width: medium; width: 470px; height: 421px; 从目录结构可以看出它是一套MVC架构的网站我们可以单独进行运行和调试当然我们也可以把它放进自己的项目中。 从.Net Core开始我们看代码的顺序从Web.config转到了Program.cs中我们来看下IdentityService的Program public class Program { public static void Main(string[] args){var host new WebHostBuilder().UseKestrel().UseHealthChecks(/hc) //多了一个健康检查.UseContentRoot(Directory.GetCurrentDirectory()).UseIISIntegration().UseStartupStartup().Build();host.Run();} } 跟普通的.Net Core项目类似不过多了一个UseHealthChecks从名字上也能看出这是一个对项目健康的检查有兴趣的话到时候我们另外开篇介绍。看完Program我们看下Startup 在初始化的时候我们看到的代码基本与系统相同多了一个加入builder.AddUserSecrets() 这是一个用户信息加密方法避免我们在提交共享项目的时候会把自己一些重要信息泄露有兴趣的朋友可以看下Secret Manager Tools。 在ConfigureServices中我们看到有一段代码 services.AddDataProtection(opts {opts.ApplicationDiscriminator eshop.identity; }); 这段代码意思是加了一个唯一标示符给应用程序这在集群环境中是非常必要的我们可以通过这个唯一标识来判断是否是同一个应用我们的同一应用可能会分布在不同server上具体可以看园内大神的专题Asp.Net Core 数据保护 Going Down: services.AddHealthChecks(checks {var minutes 1; if (int.TryParse(Configuration[HealthCheck:Timeout], out var minutesParsed)){minutes minutesParsed;}checks.AddSqlCheck(Identity_Db, Configuration.GetConnectionString(DefaultConnection), TimeSpan.FromMinutes(minutes)); }); 又是Health检查这次检查了与数据库连接的状态。 services.AddTransientIEmailSender, AuthMessageSender(); //邮件发送服务services.AddTransientISmsSender, AuthMessageSender(); //短信发送服务services.AddTransientILoginServiceApplicationUser, EFLoginService(); //EF 登录服务services.AddTransientIRedirectService, RedirectService(); //重定向服务//callbacks urls from config:Dictionarystring, string clientUrls new Dictionarystring, string(); clientUrls.Add(Mvc, Configuration.GetValuestring(MvcClient)); clientUrls.Add(Spa, Configuration.GetValuestring(SpaClient)); clientUrls.Add(Xamarin, Configuration.GetValuestring(XamarinCallback)); // Adds IdentityServerservices.AddIdentityServer(x x.IssuerUri null).AddSigningCredential(Certificate.Get()).AddInMemoryApiResources(Config.GetApis()).AddInMemoryIdentityResources(Config.GetResources()).AddInMemoryClients(Config.GetClients(clientUrls)).AddAspNetIdentityApplicationUser().Services.AddTransientIProfileService, ProfileService(); 为identityserver4 进行相关配置。Startup中的Configure没什么特别的。 简单的看了下Identity项目好像就是教你怎么使用IdentityServer4So你可以在博客园中找到好多相关资料这里就不重复介绍了。 在这个service中发现了很多没有用到的类和属性估计是为了以后扩展用的吧。 例如 var user await _loginService.FindByUsername(model.Email);if (await _loginService.ValidateCredentials(user, model.Password)) {AuthenticationProperties props null; if (model.RememberMe){props new AuthenticationProperties{IsPersistent true,ExpiresUtc DateTimeOffset.UtcNow.AddYears(10)};};await _loginService.SignIn(user); // make sure the returnUrl is still valid, and if yes - redirect back to authorize endpointif (_interaction.IsValidReturnUrl(model.ReturnUrl)){ return Redirect(model.ReturnUrl);} return Redirect(~/); } 这是AccountController用户登录的一段代码其中的props属性进行了设置但是在后面没有使用到因为是为以后支持持续化登录做的准备吧。还有在Services目录中的ProfileService在项目中也没有进行调用相信在后面的版本中会加上去的。 运行部署 了解了项目后我们再来进行运行和部署。 首先我们需要一台MSSQL Server因为我们需要保存用户数据建议用SQL 2008 update3以上为何用update3以上后面会说当然你也可以使用其他类型的数据库比如MySqlSqlite等。 其次把Identity项目设置为启动项目试着CtrlF5运行看看是否运行成功。 当你能在浏览器看到这个页面的时候说明程序运行正常配置也正确接下来看下如何在docker中运行。 1、右键项目-发布把项目编译发布到某个文件夹中。 2、打开你的终端如果是win10之前的系统请打开Docker Quickstart Terminal 我用的是win7使用的是Quickstart终端其他系统只要是使用linux container的都一样否则怎么叫“build once, run anywhere”呢。 3、在终端上先cd到你的发布目录如果不在同一个驱动器下的使用 /(driver)/ 代替driver:,例如我的项目发布在D:\Projects\publish cd /d/projects/publish 在你的终端看到输入处上一行有这个目录的说明你已经进入到这个目录了如 4、用ls查看下这个目录你会看到编译后的文件都在这里release在文件夹中你会看到dockerfile文件这个相当于docker的批处理文件我们看下内容具体如何写可以看博客园中其他大神的教程 FROM microsoft/aspnetcore:1.1 ARG source WORKDIR /app EXPOSE 80 COPY ${source:-obj/Docker/publish} . ENTRYPOINT [dotnet, Identity.API.dll] 5、在终端运行docker build命令创建你的image请注意最后的“.”这个代表的当前目录 docker build -t identity:01 . 6、成功后我们使用docker images 可以查看如果在list中有identity的话说明我们创建成功了 7、run起来 docker run -p 8888:80 --name identity -d identity:01 ok所有操作完毕可以用我们的浏览器打开输入http://localhost:8888了 撒都没有撒情况 通过检查终于知道了原因我们使用的docker-toolbox所以它会借助于VritualBox来创建一个linux运行环境所以我们必须把虚拟机中的端口映射到我的本机 想着这下总归可以了吧谁知道。。。。。还是无法访问在quickstart中我输入了docker logs identity 看到如下日志 这什么鬼time out可我iis运行都是正常的啊不存在数据库连接不上的问题吧这个问题足足困扰了我2天晚上也睡不好第3天早上突然想到会不会linux容器的关系呢之前google的都是错误信息所以撒都没有搜出来我改了下关键字 linux containers connection sqlserver果不其然在一个issue中发现了答案 https://github.com/aspnet/EntityFramework/issues/4702#issuecomment-193382793 原来我们的sql2008没有支持这种登录request我们必须升级到update3才能解决这个问题为了让教程继续我购买了azure的1元试用更换了connection后我重新build和run终于看到了熟悉的页面 写在最后 在Identity Service中我们看到了一些新的东西比如secret manager tool,healthcheck等虽说它是基于identityServer4搭建的但至少它教会了我们如何使用identityServer4而且我们完全可以单独把它拉出来作为我们自己的user server我也是第一次接触IdentityServer4以后大家可以一起学习讨论下感觉非常强大。最后我们学习了如何单独搭建和部署identity service并使其能够在docker中正常运行。 相关文章 开篇有益-解析微软微服务架构eShopOnContainers一 原文地址http://www.cnblogs.com/inday/p/identity-service-eshoponcontainers.html.NET社区新闻深度好文微信中搜索dotNET跨平台或扫描二维码关注
http://www.pierceye.com/news/369550/

相关文章:

  • 正规营销型网站定制上海缘震网络科技有限公司
  • 网站建设的目的个人养老金查询
  • 沧州英文模板建站长沙 网站建设公司
  • 广州网站备案公司南昌网站建设网站推广
  • 龙岗外贸网站建设公司博览局网站建设
  • 怎么做淘课网站百度网站优化方案
  • 余姚做网站深圳华强北怎么了
  • 网站建设单元格边距WordPress进
  • 备案后的域名改网站名沪深300指数怎么买
  • 行业网站维护买电脑wordpress
  • 廊坊兼职网站建设网站图片怎么做的高级
  • pc网站转换手机网站wap用jsp源码做网站
  • 重庆慕尚网站建设在线美工
  • 珠海网站设计培训源码网站
  • 中山好的做网站的公司网站seo外包
  • 付费的网站是指展览馆网站建设方案书
  • 免费整套ppt模板下载网站网络营销推广目的
  • 公司 做网站企业手机app开发公司
  • 玉树电子商务网站建设多少钱做类似淘宝一样的网站
  • 住房城乡与建设厅网站燕郊网站开发
  • 欧美风格网站特点wordpress 电影主题
  • 烟台网站建设网站推广团队logo标志设计
  • 怎么注册建设银行网站如何创建属于个人网站
  • 双语网站系统wordpress page 父页面
  • 连云港做网站设计稿定设计官网入口
  • 建筑网站推荐wordpress hook api
  • 昆明做网站公司哪家好安卓优化
  • 魔站建站系统哪家好国内知名的包装设计公司
  • 福田区住房和建设局网站早晨设计 做网站设计吗
  • 郑州轨道网站开发手机怎么做动漫微电影网站