RBAC是什么?
RBAC根据权限的不同访问不同的页面。权限的分配和管理是基于角色进行的。 RBAC 模型包含以下几个核心概念:
- 用户(User):用户可以关联到一个或多个角色。
- 角色(Role):通过角色来确定其拥有的权限。
- 权限(Permission):权限指定了对系统资源进行操作的能力。
基本原则是将权限与角色关联,然后再将角色授权给用户
WebSocket 是什么
- WebSocket 是一种网络传输协议
- WebSocket 使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。客户端和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。
前端通过send方法向服务器端发送请求 通过 onmessage监听服务器端传递过来的数据
后端 通过onmessage来监听传递过来的数据 通过readyState来判断是否链接成功 通过send发送数据
//引入WebSocket
const WebSocket = require('ws')
//进行new实例化 服务器监听的端口号为 3001
const ws =new WebSocket.Server({port:'3001'})
// ws.on添加事件监听
ws.on('connection',(ws)=>{
// ws当前实例
//msg传递过来的参数
ws.on('message',(msg)=>{
// console.log(msg,'msg');
// <Buffer 31 32 33>
// console.log(ws.readyState,'ws');
// readyState 链接状态
// 0 正在链接
// 1 已经完成链接
// 2 链接正在关闭
// 3 链接已关闭
if(ws.readyState==1){
ws.send('666')
}
})
})
跨域的解决方案
1.JSONP
jsonp的原理就是利用<script>标签没有跨域限制,通过<script>标签src属性,发送带有callback参数的GET请求,服务端将接口返回数据拼凑到callback函数中,返回给浏览器,浏览器解析执行,从而前端拿到callback函数返回的数据。
<script>
var script = document.createElement('script');
script.type = 'text/javascript';
// 传参一个回调函数名给后端,方便后端返回时执行这个在前端定义的回调函数
script.src = 'http://www.domain2.com:8080/login?user=admin&callback=handleCallback';
document.head.appendChild(script);
// 回调执行函数
function handleCallback(res) {
alert(JSON.stringify(res));
}
</script>
服务端返回如下(返回时即执行全局函数):
handleCallback({"success": true, "user": "admin"})
JSONP的缺点:只能发送get一种请求。
2、跨域资源共享(CORS)
CORS是一个W3C标准 它允许浏览器向跨源服务器,发出XMLHttpRequest请求 CORS需要浏览器和服务器同时支持。
3. WebSocket
WebSocket:使用 WebSocket 协议进行通信,WebSocket 不受同源策略限制,可以在不同域名之间建立双向通信。