跳到主要内容
版本:4.0

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 自定义授权策略实现

🔄 正在加载代码...

二、示例工程