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

交易网站开发合同wordpress 谷歌

交易网站开发合同,wordpress 谷歌,做农产品的网站,公司官网怎么建立1开始在之前的使用Swagger做Api文档中#xff0c;我们已经使用Swagger进行开发接口文档#xff0c;以及更加方便的使用。这一转换#xff0c;让更多的接口可以以通俗易懂的方式展现给开发人员。而在后续的内容中#xff0c;为了对api资源的保护#xff0c;我们引入了认证授… 1开始在之前的使用Swagger做Api文档中我们已经使用Swagger进行开发接口文档以及更加方便的使用。这一转换让更多的接口可以以通俗易懂的方式展现给开发人员。而在后续的内容中为了对api资源的保护我们引入了认证授权方案利用HTTP提供了一套标准的身份验证框架服务端可以用来针对客户端的请求发送质询(challenge)客户端根据质询提供应答身份验证凭证进而实现对资源的保护。因为之前在使用Swagger的系列中还没有加身份认证授权这一块所以我们使用的接口都是没有进行资源保护的而再后续又对认证授权这一块进行讲解又没有将Swagger好好的利用起来使得每一次要测试授权认证的时候都得使用postman在Hearer请求头中加入Authorization属性导致每测试一个接口就得输入一次token令牌来实现认证重复操作频繁降低工作效率。这个时候我们刚好发现Swagger已经帮我们是实现了一次输入令牌不同接口多次调用提高效率。这样我们就可以将之前的Swagger系列和认证授权系列相结合。说干就干。。。2回顾Swagger系列基于.NetCore3.1系列 —— 使用Swagger做Api文档 (上篇)基于.NetCore3.1系列 —— 使用Swagger做Api文档 (下篇)基于.NetCore3.1系列 —— 使用Swagger导出文档 (番外篇)基于.NetCore3.1系列 —— 使用Swagger导出文档 (补充篇)JWT认证授权系列基于.NetCore3.1系列 —— 认证方案之初步认识JWT基于.NetCore3.1系列 —— 认证授权方案之JwtBearer认证基于.NetCore3.1系列 —— 认证授权方案之授权初识基于.NetCore3.1系列 —— 认证授权方案之授权揭秘 (上篇)基于.NetCore3.1系列 —— 认证授权方案之授权揭秘 (下篇)3开始3.1. 添加Swagger这里我们使用这个系列中的源码允许发现这个在没有使用配置我们授权认证代码的情况下资源api都是处于没有保护的情况下任何人都可以调用使用没有安全性。        public void ConfigureServices(IServiceCollection services){services.AddSwaggerGen(c {c.SwaggerDoc(V1, new OpenApiInfo{Version V1,   //版本Title $XUnit.Core 接口文档-NetCore3.1,  //标题Description $XUnit.Core Http API v1,    //描述Contact new OpenApiContact { Name 艾三元, Email , Url new Uri(http://i3yuan.cnblogs.com) },  License new OpenApiLicense { Name 艾三元许可证, Url new Uri(http://i3yuan.cnblogs.com) }});var basePath Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录绝对不受工作目录影响建议采用此方法获取路径//var basePath AppContext.BaseDirectory;var xmlPath Path.Combine(basePath, XUnit.Core.xml);//这个就是刚刚配置的xml文件名c.IncludeXmlComments(xmlPath);//默认的第二个参数是false,对方法的注释// c.IncludeXmlComments(xmlPath,true); //这个是controller的注释});services.AddControllers();}3.2. 添加认证授权基于之前的认证授权方案系列我们这一节的认证授权就使用之前使用的基于自定义策略授权的方式实现授权。3.2.1. 定义权限策略定义一个权限策略PermissionRequirement这个策略并包含一些属性。public class PermissionRequirement: IAuthorizationRequirement {public string _permissionName { get; }public PermissionRequirement(string PermissionName){_permissionName PermissionName;} }3.2.2. 再定义一个策略处理类public class PermissionRequirementHandler : AuthorizationHandlerPermissionRequirement {protected override Task HandleRequirementAsync(AuthorizationHandlerContext context, PermissionRequirement requirement){var role context.User.FindFirst(c c.Type ClaimTypes.Role);if (role ! null){var roleValue role.Value;if (roleValuerequirement._permissionName){context.Succeed(requirement);}}return Task.CompletedTask;} }3.2.3. 下面展示了如何将自定义要求添加到策略请注意由于这是自定义要求因此没有扩展方法而必须继续处理策略对象的整个 Requirements 集合    public void ConfigureServices(IServiceCollection services){services.AddControllers();//基于自定义策略授权services.AddAuthorization(options {options.AddPolicy(customizePermisson,policy policy.Requirements.Add(new PermissionRequirement(admin)));});//此外还需要在 IAuthorizationHandler 类型的范围内向 DI 系统注册新的处理程序services.AddScopedIAuthorizationHandler, PermissionRequirementHandler();// 如前所述要求可包含多个处理程序。如果为授权层的同一要求向 DI 系统注册多个处理程序有一个成功就足够了。}3.2.4. 应用自定义的策略的特性指定当前用户必须是应用对控制器或控制器内的操作如   [Authorize(Policy customizePermisson)]public class MovieController : ControllerBase{}3.3. 添加Swagger锁利用Swagger为我们提供的接口在AddSwaggerGen服务中添加保护api资源的描述。  var openApiSecurity new OpenApiSecurityScheme{Description JWT认证授权使用直接在下框中输入Bearer {token}注意两者之间是一个空格\,Name Authorization,  //jwt 默认参数名称In ParameterLocation.Header,  //jwt默认存放Authorization信息的位置请求头Type SecuritySchemeType.ApiKey};添加请求头的Header中的token,传递到后台。c.OperationFilterSecurityRequirementsOperationFilter();开启加权锁c.OperationFilterAddResponseHeadersFilter(); c.OperationFilterAppendAuthorizeToSummaryOperationFilter();代码整合如下在ConfigureServices服务中        services.AddSwaggerGen(c {c.SwaggerDoc(V1, new OpenApiInfo{Version V1,   //版本Title $XUnit.Core 接口文档-NetCore3.1,  //标题Description $XUnit.Core Http API v1,    //描述Contact new OpenApiContact { Name 艾三元, Email , Url new Uri(http://i3yuan.cnblogs.com) },  License new OpenApiLicense { Name 艾三元许可证, Url new Uri(http://i3yuan.cnblogs.com) }});var basePath Path.GetDirectoryName(typeof(Program).Assembly.Location);//获取应用程序所在目录绝对不受工作目录影响建议采用此方法获取路径//var basePath AppContext.BaseDirectory;var xmlPath Path.Combine(basePath, XUnit.Core.xml);//这个就是刚刚配置的xml文件名// c.IncludeXmlComments(xmlPath);//默认的第二个参数是false,对方法的注释c.IncludeXmlComments(xmlPath,true); // 这个是controller的注释#region 加锁var openApiSecurity new OpenApiSecurityScheme{Description JWT认证授权使用直接在下框中输入Bearer {token}注意两者之间是一个空格\,Name Authorization,  //jwt 默认参数名称In ParameterLocation.Header,  //jwt默认存放Authorization信息的位置请求头Type SecuritySchemeType.ApiKey};c.AddSecurityDefinition(oauth2, openApiSecurity);c.OperationFilterAddResponseHeadersFilter();c.OperationFilterAppendAuthorizeToSummaryOperationFilter();c.OperationFilterSecurityRequirementsOperationFilter();#endregion});c.AddSecurityDefinition(oauth2, openApiSecurity); 这里的方案名称必须是oauth24运行在未加锁的情况下效果如下加上锁的程序后执行后发现执行效果5总结通过上面的汇总我们已经实现将Swagger和net core身份认证授权才能访问接口在以后测试接口授权的时候就可以直接通过Swagger中的锁来调试运行减少重复添加令牌进行操作。搜索关注公众号【DotNet技术谷】--回复【加锁】可获取本篇文章的源码。
http://wiki.neutronadmin.com/news/428128/

相关文章:

  • 网站建设参考论文济南手机建站公司
  • 买的服务器怎么做网站免费seo推广计划
  • 兰州网站建设公司价格益阳做网站怎么便宜
  • 网站跳出率什么意思爱站网挖掘关键词
  • 网站建设 我们是专业的南京的网站建设公司哪家好
  • 个人flash网站斗门网站建设
  • 网站域名解析ip地址广东建设工程招标网站
  • 易企秀网站开发技术网站自己做推广
  • 在什么网站可以接活做建销售网站需要多少钱
  • html家具网站源代码服务器和域名都有了 怎么做网站
  • 做网站公司南京查询二建证书注册在哪个单位
  • tp5被黑做的网站全变成首页百度关键词排名工具
  • 网站建站解决方案个人网站建设规划案例
  • 免费网站个人注册wordpress婚庆主题
  • 女性时尚网站带论坛php程序苏州品牌网站设计开发
  • 点读软件网站建设页游平台网站
  • 网站开发 工期安排南宁正规的seo费用
  • 溧阳人才网 网站开发佛山企业手机网站建设
  • 怎样建设外贸网站网站活动页面
  • 有做网站看病的吗应用小程序定制开发
  • python网站开发pdf网站服务器宽带
  • 惠州品牌网站建设外贸seo推广
  • 百度网站推广找谁做东莞网络推广系统
  • 莘县聊城做网站wordpress手机版如何在电脑
  • 用框架做网站如何居中西安seo外包工作室
  • 网站建设的课程设计海外版tiktok免费入口
  • 成都网站建设网国人原创wordpress主题
  • 网站改版做重定向台州网站优化排名
  • 网站开发指南微信管理系统平台电话
  • 西北建设有限公司官方网站次世代建模培训