东莞市网站建设制作设计平台,什么是响应式网站建设,4435建站,安庆专业做淘宝网站1框架搭建ABP vNext创建包含app和module两种模板#xff0c;其中app方式所创建的模板包含用户、角色、权限管理#xff0c;ABP基础配置IdentityServer的基础配置数据等功能。module模式是一个比较干净的服务#xff0c;里面不包含默认业务功能。ABP vNext创建包含app和modul… 1框架搭建ABP vNext创建包含app和module两种模板其中app方式所创建的模板包含用户、角色、权限管理ABP基础配置IdentityServer的基础配置数据等功能。module模式是一个比较干净的服务里面不包含默认业务功能。ABP vNext创建包含app和module两种模板其中app方式所创建的模板包含用户、角色、权限管理ABP基础配置IdentityServer的基础配置数据等功能。module模式是一个比较干净的服务里面不包含默认业务功能。这里我们构建身份管理服务需要用到ABP vNext框架自带的用户角色管理模块所以采用app模式构建项目源码。项目名称为Demo.IdentityManager构建命令如下abp new Demo.Identity -t app --ui none --separate-identity-server -dbms MySQL这里 -t app 表示application模式 --ui none 表示不使用UI界面 --separate-identity-server 表示将身份认证服务IdentityServer和当前项目服务分开 -dbms MySQL 表示使用MySQL数据库。执行命令后执行目录中会出现aspnet-core文件夹将该文件夹中所有内容拷贝至项目解决方案的service/identitymanager目录下将其中的IdentityServer项目移动至identityserver文件夹下若直接添加IdentityServer项目到解决方案会报错找不到common.props这是因为相对路径发生变化可将identitymanager目录下的common.props文件复制一份到总解决方案sln所在目录目录调整完成后使用sln构建工具添加所有项目到总解决方案。添加后项目结构如下图因为IdentityServer项目相对路径发生变化需删除并重新添加该项目对EntityFrameworkCore项目的引用。如果不想使用ABP自带的单元测试可以将解决方案文件夹test及其下项目删除。2初始化数据库在ABP vNext框架application模式代码创建的数据库中会包含用户、角色、权限、配置等功能的表以及IdentityServer框架各项数据库持久化数据的表。application模式下所创建的项目中的DbMigrator项目包含创建、执行数据迁移并初始化数据的功能。正常情况下我们修改DbMigrator项目的配置文件appsettings.json中的ConnectionStrings:Default字段改为我们所使用的数据库并执行该项目即可创建所需要的数据库但我当前所用版本6.0.1有一个小Bug运行DbMigrator项目会卡在创建数据迁移这一步需要我们修改数据库链接字符串后手动创建数据迁移并执行使用dotnet-ef命令执行如下在EntityFramework项目目录下进入cmd命令行确保dotnet-ef命令已安装并更新至最新版本具体可参考https://docs.microsoft.com/zh-cn/ef/core/get-started/overview/install添加数据迁移dotnet-ef migrations add InitDb执行数据迁移dotnet-ef database update -s ..\Demo.Identity.DbMigrator执行完成后数据库已创建成功运行DbMigrator项目可完成数据初始化。3调整及测试身份管理服务运行项目为Identity.HttpApi.Host将此项目设置为启动项。修改Identity.HttpApi.Host项目中的配置文件appsettings.json修改数据库链接字符串ConnectionStrings:Default及Redis地址Redis:Configuration按照服务规划我们给该服务设置的规划的端口号为5000所以在appsettings.json中添加配置项 urls: http://*:5000默认情况下ABP vNext框架自带的用户角色权限等接口需要授权用户才可以访问依据我们之前的设计微服务中的各项服务不需要二次权限验证这里我们全局忽略权限验证否则调用时会报401错误。忽略方法为在IdentityHttpApiHostModule的ConfigureServices方法中添加以下内容context.Services.AddAlwaysAllowAuthorization();以控制台方式启动项目Identity.HttpApi.Host项目启动完成后通过浏览器访问http://localhost:5000/swagger/index.html成功显示Swagger页面测试/api/identity/users的Get方式接口返回admin用户信息说明服务配置成功。end更多精彩关注我获得