鸿鹄网站建设网页加速器免费
news/
2025/9/24 7:49:51/
文章来源:
鸿鹄网站建设,网页加速器免费,wordpress播放下载,政务服务中心网站建设总结使用asp.net core Identity IdentityServer灵活的设计中有一部分是可以将你的用户和他们的数据保存到数据库中的。如果你以一个新的用户数据库开始#xff0c;那么#xff0c;asp.net core Identity是一个选择。这个示例演示了如何在IdentityServer中使用asp.net core Ientit…使用asp.net core Identity IdentityServer灵活的设计中有一部分是可以将你的用户和他们的数据保存到数据库中的。如果你以一个新的用户数据库开始那么asp.net core Identity是一个选择。这个示例演示了如何在IdentityServer中使用asp.net core Ientity. 该示例假设你已经完成了前面的所有示例这个示例将要用asp.net core Identity 模板创建一个新的项目新项目会替换掉之前的IdentityServer。而其它的工程则没有影响。 新建一个asp.net core Identity工程 第一步是在你的解决方案中添加一个asp.net core Identity的工程。考虑到大量的代码都来源于asp.net core Identity,所以这里直接使用visual studio的一个模板。你最后得把旧的IdentityServer删除。但是你还得配置一下。 那就从创建一个asp.net core web app开始把 然后选择MVC模板 然后在更改身份验证这里选择“个人用户账户” 最后当你选择好之后点击确定。 修改宿主 别忘了把端口调整到5000. 这样才能兼容之间创建好的客户端和API。 添加IdentityServer的包 添加IdentityServer4.AspNetIdentity的nuget包。因为它依赖IdentityServer包所以会自动的将IdentityServer4添加到项目中来。 Scopes和客户端的配置 虽然是一个新的项目我们仍然可以将旧项目中的代码粘贴过来用一下。你现在将之前的IdentityServer中的Config类中的代码粘贴到新项目中。 有一个改变的地方是需要禁用一下确认页面的东西因为我们现在还没有配置关于确认页面的任何东西。所以我们将RequireConsent设置为false: new Client
{ClientId mvc,ClientName MVC Client,AllowedGrantTypes GrantTypes.HybridAndClientCredentials,RequireConsent false,ClientSecrets {new Secret(secret.Sha256())},RedirectUris { http://localhost:5002/signin-oidc },PostLogoutRedirectUris { http://localhost:5002/signout-callback-oidc },AllowedScopes {IdentityServerConstants.StandardScopes.OpenId,IdentityServerConstants.StandardScopes.Profile,api1},AllowOfflineAccess true
} 配置IdentityServer 还是和之前一样需要在ConfigureServices和Configure这两个Startup中的方法中进行配置。 ConfigureServices 下面的代码显示了工程创建的时候生成的一些样本代码和底部添加的关于IdentityServer的代码。在之前的示例中AddTestUsers扩展方法用来将用户注册到DI中但是这会儿我们用AddAspNetIdentity取代了。这个方法需要一个泛型的类型参数这个类型参数的类型是你asp.net Identity User的类型。 public void ConfigureServices(IServiceCollection services)
{services.AddDbContextApplicationDbContext(options options.UseSqlServer(Configuration.GetConnectionString(DefaultConnection)));services.AddIdentityApplicationUser, IdentityRole().AddEntityFrameworkStoresApplicationDbContext().AddDefaultTokenProviders();// Add application services.services.AddTransientIEmailSender, EmailSender();services.AddMvc();// configure identity server with in-memory stores, keys, clients and scopesservices.AddIdentityServer().AddDeveloperSigningCredential().AddInMemoryPersistedGrants().AddInMemoryIdentityResources(Config.GetIdentityResources()).AddInMemoryApiResources(Config.GetApiResources()).AddInMemoryClients(Config.GetClients()).AddAspNetIdentityApplicationUser();
} 需要注意的是关于IdentityServer的逻辑应该写到AddIdentity方法之后。因为其中有一些方法被重写了。 Configure 这里展示了创建工程的时候生成的代码还有添加了UseIdentityServer。 public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{if (env.IsDevelopment()){app.UseDeveloperExceptionPage();app.UseBrowserLink();app.UseDatabaseErrorPage();}else{app.UseExceptionHandler(/Home/Error);}app.UseStaticFiles();// app.UseAuthentication(); // not needed, since UseIdentityServer adds the authentication middlewareapp.UseIdentityServer();app.UseMvc(routes {routes.MapRoute(name: default,template: {controllerHome}/{actionIndex}/{id?});});
} 创建数据库 现在已经给出了一个新的项目你需要创建数据库。你可以通过项目目录下的命令行工具来执行dotnet ef database update -c ApplicationDbContext像这样 但我一般都会在程序包管理控制台上输入update-database 创建一个用户 接下来你需要运行应用并将一个用户创建到数据库中。点击注册Register按钮 然后在注册页面上注册一个用户 现在你已经拥有了一个用户你可以登陆了。 在MVC客户端上面登陆 运行MVC客户端应用然后你可以点击Secure这个链接来进行登陆 你会被重定向到asp.net Identity的登陆页面上输入你新创建的那个用户的信息 然后你会被跳转到确认页面上然后又迅速的重定向回MVC客户端因为我们配置了RequireConsetnfalse了。。然后关于你的user的一些claim回被列出来。 客户端可以代表你的用户来访问api通过点击Call API using application identity 下一步 先前的示例项目中有确认页面、错误页面和登出页面这些缺失的部分你可以直接复制粘贴过来用。一旦你完成了那个旧的项目就没用了。。然后你需要将RequireConsent改成true。 最后放上源码直接点击下载 sample code for this quickstart 吧。 转载于:https://www.cnblogs.com/pangjianxin/p/9378686.html
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/915246.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!