笔记/前后端鉴定权限几种方式

参考:

https://blog.csdn.net/wang839305939/article/details/78713124

https://developer.mozilla.org/zh-CN/docs/Web/HTTP/Authentication

 1.HTTP Basic

   HTTP 提供一个用于权限控制和认证的通用框架。最常用的HTTP认证方案是HTTP Basic authentication。

当客户端向服务器发送一个请求时,若一开始还未验证,则服务器回返回401未授权,并且返回WWW-Authenticate来告诉客户端如何验证,之后客户端向服务端发送相应证明自己的比如说密码,添加在Authorization字段里,浏览器会自动进行加密,然后服务端会进行解密验证,返回成功,或者未授权。

HTTP Basic一般不是特别安全,不会放比较敏感的内容。

2.session-cookie

  一般用于利用服务器session和浏览器端的cookie实现前后端验证。HTTP请求是无状态,不知道之前的请求来过了没。记录状态可以通过session来进行验证。同一个客户都是一个session。

  客户端首次访问服务端,发送请求时,会创建一个session,然后保存session,并且生成唯一字符串放在响应头里,cookie里,就保存下来。当再次访问时都会带上cookie里的唯一字符串,在服务端对唯一字符串进行认证。

3.Token

类似session+id

客户端发给服务端帐号密码,服务端签发TOKEN,并发回客户端,客户端把token存在内存或者本地,每次请求需要携带token,服务器接受请求时会验证token。

登录以后就只看token了,服务端会拦截所有请求并且验证token的合法性,不合法返回401.

session+id需要有cookie,只有浏览器可以,就是解析cookie。并且session是一直不变的,而token是可以动态改变的。

 

token一般可以用JWT (JSON WEB TOKEN)

三部分,(1)头部:包含类别,加密算法(2)内容:用户信息(3)签名根据加密返回的签名子串

 

4.OAuth

OAuth(开放授权)是一个开放标准,允许用户授权第三方网站访问他们存储在另外的服务提供者上的信息。

过程如图

第一步 用户请求授权第三方

第二步 第三方授权返回用户凭证

第三步 用户凭证请求

第四步 返回对应token

第五步 请求携带token

第六步 返回资源

 

Spring Boot是一个用于创建独立的、生产级别的基于Java的应用程序的框架。它的特点是简单、快速、方便,适合用于构建单体应用程序。在传统的Spring Boot项目中,前后端通常没有明确的分离,而是将前端代码和后端代码放在同一个项目中。 下面是一些笔记,可以帮助你理解如何在Spring Boot项目中进行前后端不分离的开发: 1. 项目结构:在项目中创建一个统一的目录结构,将前端后端代码放置在不同的子目录中。可以按照功能或模块来组织代码。 2. 视图层:使用模板引擎(如Thymeleaf)来生成前端页面。在后端代码中编写HTML模板文件,将动态数据注入到模板中,然后将渲染后的HTML页面返回给客户端。 3. 控制器:编写后端的控制器类来处理请求和返回数据。控制器类负责接收前端请求,处理业务逻辑,并将相应的数据返回给前端。 4. 数据交互:使用Spring Boot提供的HTTP请求处理功能来处理前后端之间的数据交互。可以使用@RestController注解标记控制器类,使用@RequestMapping注解标记方法,然后通过方法参数接收请求参数或请求体。 5. 安全性:可以使用Spring Security来保护应用程序的安全性。通过配置安全规则,可以限制访问某些URL或资源的权限。 6. 数据库操作:可以使用Spring Data JPA来进行数据库操作。通过定义实体类和仓库接口,可以方便地进行CRUD操作。 7. 测试:可以使用JUnit或Spring Boot提供的测试框架来编写单元测试和集成测试。通过测试可以确保代码的质量和功能的正确性。 请注意,虽然在前后端不分离的项目中,前端代码和后端代码放在同一个项目中,但仍可以通过组织代码结构和使用合适的技术来实现代码的模块化和可维护性。如果你希望实现前后端分离的开发方式,可以考虑使用前后端分离的框架(如Vue.js、React等)来构建前端,并通过RESTful API来进行数据交互。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值