文件名称:.net core 3.1 WepApi 前后分离身份验证及webapi调试demo ,jwt+swagger
文件大小:1.2MB
文件格式:RAR
更新时间:2023-05-05 09:24:22
.net core WebApi Web身份验证Demo Jwt
.netcore3.1添加swagger及JWT Authorize 验证 JWT 的优缺点 相比于传统的 cookie-session 认证机制,优点有: 更适用分布式和水平扩展 在cookie-session方案中,cookie内仅包含一个session标识符,而诸如用户信息、授权列表等都保存在服务端的session中。如果把session中的认证信息都保存在JWT中,在服务端就没有session存在的必要了。当服务端水平扩展的时候,就不用处理session复制(session replication)/ session黏连(sticky session)或是引入外部session存储了。 适用于多客户端(特别是移动端)的前后端解决方案 移动端使用的往往不是网页技术,使用Cookie验证并不是一个好主意,因为你得和Cookie容器打交道,而使用Bearer验证则简单的多。 无状态化 JWT 是无状态化的,更适用于 RESTful 风格的接口验证。 它的缺点也很明显: 更多的空间占用 JWT 由于Payload里面包含了附件信息,占用空间往往比SESSION ID大,在HTTP传输中会造成性能影响。所以在设计时候需要注意不要在JWT中存储太多的claim,以避免发生巨大的,过度膨胀的请求。 无法作废已颁布的令牌 所有的认证信息都在JWT中,由于在服务端没有状态,即使你知道了某个JWT被盗取了,你也没有办法将其作废。在JWT过期之前(你绝对应该设置过期时间),你无能为力。
【文件预览】:
JwtSwagger.Demo
----Program.cs(723B)
----appsettings.Development.json(162B)
----Controllers()
--------WeatherForecastController.cs(1KB)
--------UserController.cs(3KB)
----appsettings.json(315B)
----obj()
--------JwtSwagger.Demo.csproj.nuget.g.props(1KB)
--------JwtSwagger.Demo.csproj.nuget.dgspec.json(3KB)
--------Business.Api.csproj.nuget.dgspec.json(3KB)
--------Business.Api.csproj.nuget.g.targets(294B)
--------Business.Api.csproj.nuget.g.props(1KB)
--------Debug()
--------JwtSwagger.Demo.csproj.nuget.g.targets(294B)
--------project.assets.json(25KB)
--------project.nuget.cache(2KB)
----bin()
--------Debug()
----WeatherForecast.cs(311B)
----.vs()
--------Business.Api()
----JwtSwagger.Demo.csproj(970B)
----Startup.cs(6KB)
----Properties()
--------launchSettings.json(809B)
----ApiDocument.xml(1KB)
----Models()
--------Account.cs(552B)
--------JwtSettings.cs(644B)
----JwtSwagger.Demo.csproj.user(941B)