Java后端开发面试题——企业场景篇

单点登录这块怎么实现的

单点登录的英文名叫做:Single Sign On(简称SSO),只需要登录一次,就可以访问所有信任的应用系统

JWT解决单点登录

用户访问其他系统,会在网关判断token是否有效

如果token无效则会返回401(认证失败)前端跳转到登录页面

用户发送登录请求,返回浏览器一个token,浏览器把token保存到cookie

再去访问其他服务的时候,都需要携带token,由网关统一验证后路由到目标服务

权限认证是如何实现的

3个基础部分组成:++用户、角色、权限++

具体实现

5张表(用户表、角色表、权限表、用户角色中间表、角色权限中间表)

权限框架:

Apache shiro 、 Spring security(推荐)

上传数据的安全性你们怎么控制?

对称加密

文件加密和解密使用相同的密钥,即加密密钥也可以用作解密密钥

优点:加密速度快,效率高

缺点:相对不太安全(不要保存敏感信息)

非对称加密

两个密钥:公开密钥(publickey)和私有密钥,公有密钥加密,私有密钥解密

优点:与对称加密相比,安全性更高

缺点:加密和解密速度慢,建议少量数据加密

你负责项目的时候遇到了哪些比较棘手的问题?怎么解决的

相关推荐
CoderYanger几秒前
优选算法-字符串:63.二进制求和
java·开发语言·算法·leetcode·职场和发展·1024程序员节
3***31211 分钟前
java进阶1——JVM
java·开发语言·jvm
charlie1145141917 分钟前
深入理解C/C++的编译链接技术6——A2:动态库设计基础之ABI设计接口
c语言·开发语言·c++·学习·动态库·函数
Cx330❀10 分钟前
C++ STL set 完全指南:从基础用法到实战技巧
开发语言·数据结构·c++·算法·leetcode·面试
white-persist13 分钟前
【攻防世界】reverse | Reversing-x64Elf-100 详细题解 WP
c语言·开发语言·网络·python·学习·安全·php
FeiHuo5651513 分钟前
微信个人号开发中如何高效实现API二次开发
java·开发语言·python·微信
zmzb010315 分钟前
C++课后习题训练记录Day33
开发语言·c++
csbysj202017 分钟前
Bootstrap 折叠
开发语言
源码技术栈21 分钟前
什么是云门诊系统、云诊所系统?
java·vue.js·spring boot·源码·门诊·云门诊
Coder-coco30 分钟前
游戏助手|游戏攻略|基于SprinBoot+vue的游戏攻略系统小程序(源码+数据库+文档)
java·vue.js·spring boot·游戏·小程序·论文·游戏助手