广发银行 java面试

本文分享了在广发银行Java面试中的一些重点问题,涉及无状态登录实现、角色权限控制、拦截器与过滤器的区别、分布式锁的概念及实现、WebSocket协议介绍以及前后端分离的演变与实现方式,包括Node.js在其中的角色和优势。
摘要由CSDN通过智能技术生成

收录一些印象比较深刻的问题

1.不用session和cookie 怎么实现半小时内自动登录

JS端的localStorage:HTML5提供的本地存储方式(可以称为“键值对”数据库)

https://www.jb51.net/article/96092.htm

或者更好的选择-token

Token

解决问题:服务器上存储所有用户的seesion id 导致服务器压力大 和 集中存储session id 可能导致丢失单点失败 的问题

 Header + userID + 加密算法(SHA-256)+服务器自己的密钥——签名——附在信息上

服务器接收到请求时 用算法和密钥 再对Header 和 userID 进行 加密 和 密钥

看服务器生成的 签名 和 发送过来信息中的签名是否一样,一样则为已经登陆过

https://www.cnblogs.com/moyand/p/9047978.html

tokens 是多用户下处理认证的最佳方式。

tokens特性:

     1.无状态、可扩展

     2.支持移动设备

     3.跨程序调用

     4.安全

基于Token的身份验证的过程如下:

    1.用户通过用户名和密码发送请求。

    2.程序验证。

    3.程序返回一个签名的token 给客户端。

    4.客户端储存token,并且每次用于每次发送请求。

    5.服务端利用过滤器验证token并返回数据。

 

2.分角色登陆

我的回答是:登陆判断用户权限,在Controller 中按权限跳转到相应的页面,并且页面放在WEB-INF中,不允许别人直接访问

其实可以用spring-security

https://blog.csdn.net/liushangzaibeijing/article/details/81220610

https://blog.csdn.net/larger5/article/details/81047869

  • 3
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值