足力健后端,使用.netcore版本,合并1个项目使用

PermissionRequirement.cs 1.9KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using Microsoft.AspNetCore.Authorization;
  2. using Microsoft.IdentityModel.Tokens;
  3. using System;
  4. using System.Collections.Generic;
  5. using System.Text;
  6. namespace SignToken
  7. {
  8. /// <summary>
  9. /// 必要参数类
  10. /// </summary>
  11. public class PermissionRequirement : IAuthorizationRequirement
  12. {
  13. /// <summary>
  14. /// 无权限action
  15. /// </summary>
  16. public string DeniedAction { get; set; }
  17. /// <summary>
  18. /// 认证授权类型
  19. /// </summary>
  20. public string ClaimType { internal get; set; }
  21. /// <summary>
  22. /// 请求路径
  23. /// </summary>
  24. public string LoginPath { get; set; } = "/Api/Login";
  25. /// <summary>
  26. /// 发行人
  27. /// </summary>
  28. public string Issuer { get; set; }
  29. /// <summary>
  30. /// 订阅人
  31. /// </summary>
  32. public string Audience { get; set; }
  33. /// <summary>
  34. /// 过期时间
  35. /// </summary>
  36. public TimeSpan Expiration { get; set; }
  37. /// <summary>
  38. /// 签名验证
  39. /// </summary>
  40. public SigningCredentials SigningCredentials { get; set; }
  41. /// <summary>
  42. /// 构造
  43. /// </summary>
  44. /// <param name="deniedAction">拒约请求的url</param>
  45. /// <param name="claimType">声明类型</param>
  46. /// <param name="issuer">发行人</param>
  47. /// <param name="audience">订阅人</param>
  48. /// <param name="signingCredentials">签名验证实体</param>
  49. public PermissionRequirement(string deniedAction, string claimType, string issuer, string audience, SigningCredentials signingCredentials, TimeSpan expiration)
  50. {
  51. ClaimType = claimType;
  52. DeniedAction = deniedAction;
  53. Issuer = issuer;
  54. Audience = audience;
  55. Expiration = expiration;
  56. SigningCredentials = signingCredentials;
  57. }
  58. }
  59. }