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

单点登录这块怎么实现的

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

JWT解决单点登录

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

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

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

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

权限认证是如何实现的

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

具体实现

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

权限框架:

Apache shiro 、 Spring security(推荐)

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

对称加密

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

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

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

非对称加密

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

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

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

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

相关推荐
带刺的坐椅10 小时前
Solon AOT & Native:三段式编译,从 Java 到原生可执行文件
java·aot·solon·native
程序员良辰10 小时前
【TongWeb8】使用 Crontab 定时重启和检测 TongWeb 服务
java·中间件·tomcat
菜冻鱼10 小时前
Python-sklearn-特征工程
开发语言·人工智能·python·机器学习·numpy·matplotlib·sklearn
SL_staff10 小时前
JVS数字底座实践:如何复用企业文档能力快速构建知识类应用
java·数据库·程序员
sugar__salt10 小时前
MyBatis ③动态 SQL 完全指南 —— 从条件拼接到批量操作
java·sql·mybatis
吴声子夜歌10 小时前
正则指引——PHP
开发语言·正则表达式·php
吃饱了得干活11 小时前
Java并发安全:看这一篇就懂了!
java·后端·面试
前端双越老师11 小时前
前端学习 Java 其实很容易:TS 和 Java 语法的 N 个相同点
java·全栈
Claire_8811 小时前
企业文件管理系统选型技术框架与主流产品对比分析
开发语言·php
(Charon)11 小时前
【C++】:使用 mutex + deque 实现一个简单的 LockedQueue
开发语言·c++