Blog.Core 面向切面的缓存使用 拦截器BlogLogAOP 继承IInterceptor接口 实例化IInterceptor唯一方法 包含被拦截方法的信息 面向切面的缓存使用 事务拦截器BlogTranAOP 继承IInterceptor接口 实例化IInterceptor唯一方法 包含被拦截方法的信息 AOP的拦截方法 自定义缓存的key object 转 string 颁发JWT字符串 解析 令牌 Id 角色 职能 中间件 原做为自定义授权中间件 先做检查 header token的使用 JWTToken生成类 获取基于JWT的Token 需要在登陆的时候配置 在startup中定义的参数 权限授权处理器 验证方案提供对象 构造函数注入 用户或角色或其他凭据实体,就像是订单详情一样 之前的名字是 Permission 用户或角色或其他凭据名称 请求Url 必要参数类,类似一个订单信息 继承 IAuthorizationRequirement,用于设计自定义权限处理器PermissionHandler 因为AuthorizationHandler 中的泛型参数 TRequirement 必须继承 IAuthorizationRequirement 用户权限集合,一个订单包含了很多详情, 同理,一个网站的认证发行中,也有很多权限详情(这里是Role和URL的关系) 无权限action 认证授权类型 请求路径 发行人 订阅人 过期时间 签名验证 构造 拒约请求的url 权限集合 声明类型 发行人 订阅人 签名验证实体 过期时间 静态全局 AutoMapper 配置文件 配置构造函数,用来创建关系映射 博客管理 构造函数 获取博客列表【无权限】 获取博客详情 获取详情【无权限】 获取博客测试信息 v2版本 添加博客【无权限】 删除博客 更新博客信息 apache jemeter 压力测试 更新接口 这是一个测试的控制器,主要为了测试基于Claim的验证机制 测试批量删除,如果是axios,记得要把数组格式化成 stringQuery 构造函数 获取 整体框架 文件 获取 Model 层文件 获取 IRepository 层文件 获取 IService 层文件 获取 Repository 层文件 获取 Services 层文件 图片管理 下载图片(支持中文字符) 上传图片,多文件,可以使用 postman 测试, 如果是单文件,可以 参数写 IFormFile file1 登录管理【无权限】 构造函数注入 获取JWT的方法1 获取JWT的方法2:给Nuxt提供 获取JWT的方法3:整个系统主要方法 请求刷新Token(以旧换新) 获取JWT的方法4:给 JSONP 测试 测试 MD5 加密字符串 接口管理 获取全部接口api 添加一条接口信息 更新接口信息 删除一条接口 SignalR send data 菜单管理 构造函数 获取菜单 查询树形 Table 父节点 关键字 添加一个菜单 保存菜单权限分配 获取菜单树 获取路由树 通过角色获取菜单【无权限】 更新菜单 删除菜单 角色管理 获取全部角色 添加角色 更新角色 删除角色 类别管理【无权限】 构造函数 获取Tibug所有分类 Tibug 管理 构造函数 获取Bug数据列表(带分页) 【无权限】 页数 专题类型 关键字 获取详情【无权限】 添加一个 BUG 【无权限】 更新 bug 删除 bug 用户管理 构造函数 获取全部用户 获取用户详情根据token 【无权限】 令牌 添加一个用户 更新用户与角色 删除用户 用户角色关系 构造函数 新建用户 新建Role 新建用户角色关系 Values控制器 ValuesController Get方法 Get(int id)方法 测试参数是必填项 通过 HttpContext 获取用户信息 声明类型,默认 jti to redirect by route template name. route with template name. 测试 post 一个对象 + 独立参数 model实体类参数 独立参数 测试 post 参数 测试http请求 RestSharp Get 测试http请求 RestSharp Post 测试多库连接 Put方法 Delete方法 Db 启动服务 Automapper 启动服务 Cors 启动服务 Db 启动服务 Db 启动服务 Cors 启动服务 Cors 启动服务 MiniProfiler 启动服务 SqlSugar 启动服务 Swagger 启动服务 Summary:全局路由权限公约 Remarks:目的是针对不同的路由,采用不同的授权过滤器 如果 controller 上不加 [Authorize] 特性,默认都是 Permission 策略 否则,如果想特例其他授权机制的话,需要在 controller 上带上 [Authorize],然后再action上自定义授权即可,比如 [Authorize(Roles = "Admin")] 全局权限过滤器【无效】 全局异常错误日志 自定义返回格式 生产环境的消息 开发环境的消息 全局路由前缀公约 中间件 记录IP请求数据 自定义授权中间件 请求响应中间件 SignalR中间件 异常处理中间件 IP请求中间件 中间件 记录请求和响应数据 中间件 记录请求和响应数据 log4net 仓储库 自定义版本 Api接口版本 自定义 V1 版本 V2 版本 自定义路由 /api/{version}/[controler]/[action] 分组名称,是来实现接口 IApiDescriptionGroupNameProvider 自定义路由构造函数,继承基类路由 自定义版本+路由构造函数,继承基类路由