WebAPI 鉴权与授权
一、鉴权与授权
TouchSocket.WebApi 支持多种鉴权和授权方式。WebApi 的鉴权授权与 RPC 的鉴权授权类似,如需了解更多关于鉴权授权的理论知识,请参考 Rpc鉴权授权策略。
1.1 基于插件的鉴权
使用插件进行全局鉴权是最常见的鉴权方式之一。通过实现 IWebApiPlugin 接口,可以在请求到达控制器之前进行统一的身份验证。
1.1.1 实现鉴权插件
🔄 正在加载代码...
1.1.2 注册鉴权插件
🔄 正在加载代码...
1.2 基于特性的授权
除了全局鉴权,还可以使用特性(Attribute)在控制器或方法级别进行更细粒度的授权控制。
1.2.1 控制器级别授权
🔄 正在加载代码...
在上面的示例中:
[WebApiAuthorize]特性标记在控制器级别,表示该控制器下的所有方法都需要授权[AllowAnonymous]特性可以标记在特定方法上,允许匿名访问
1.2.2 授权特性定义
🔄 正在加载代码...
1.3 JWT 鉴权
JWT(JSON Web Token)是一种无状态的鉴权方式,非常适合 RESTful API。
1.3.1 生成和验证 JWT Token
🔄 正在加载代码...
1.3.2 登录接口获取 Token
🔄 正在加载代码...
1.4 基于角色的授权
基于角色的授权(Role-Based Authorization)允许根据用户的角色来控制访问权限。
🔄 正在加载代码...
1.5 自定义授权策略
对于更复杂的授权需求,可以实现自定义授权策略。
1.5.1 授权策略接口
🔄 正在加载代码...
1.5.2 自定义授权策略实现
🔄 正在加载代码...