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

单点登录这块怎么实现的

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

JWT解决单点登录

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

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

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

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

权限认证是如何实现的

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

具体实现

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

权限框架:

Apache shiro 、 Spring security(推荐)

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

对称加密

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

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

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

非对称加密

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

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

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

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

相关推荐
南客先生3 分钟前
多级缓存架构设计与实践经验
java·面试·多级缓存·缓存架构
anqi276 分钟前
如何在 IntelliJ IDEA 中编写 Speak 程序
java·大数据·开发语言·spark·intellij-idea
XuX0310 分钟前
MATLAB小试牛刀系列(1)
开发语言·matlab
m0_7401546712 分钟前
maven相关概念深入介绍
java·maven
Suckerbin20 分钟前
第十四章-PHP与HTTP协议
开发语言·http·php
fanTuanye25 分钟前
Spring-全面详解(学习总结)
java·spring·ssm框架
Best_Liu~26 分钟前
TransactionTemplate 与@Transactional 注解的使用
java·开发语言·spring boot·后端
谈不譚网安31 分钟前
初识Python
开发语言·python
慕雪华年1 小时前
【Python】使用uv管理python虚拟环境
开发语言·python·ai·uv·mcp