单点登录(Single Sign On),简称为 SSO,是目前比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统。
一、主要架构:
1.认证中心
2.用户账号系统、用户数据获取接口
3.客户端
4.令牌(token)
二、组成部分:
令牌验证(权限验证)、登录页面(授权)、生成令牌(系统)、令牌存储(缓存或者持久化)
三、无状态的HTTP:
每一次请求都是独立的,没有事务记忆能力;即第二次并不知道上一次的请求信息。
因为http是无状态的,所以要自己维护一个状态。
令牌需要由客户端进行维护,而令牌的生成在服务单。
jsp默认的存储为:浏览器用cookie,服务器端用session。
三、关于Cookie
浏览器中有很多cookie,但是并不会都发过去,cookie有所谓path与domain,限定了cookie会被传送的条件(作用域)。
注意:所有满足条件的cookie都会被传输,因此一定要注意不要设置过多、过大的cookie来造成流量浪费
而且cookie是放在浏览器中的,因此安全性不高,所以不要在cookie中放置密码之类的内容。
httpOnly和secure,httpOnly只有发起httpOnly时才有效,用js操作cookie时是获取不到的,比如JSESSIONID。
设置secure的只有在发起https请求时才能访问到。
expires:过期时间
java可以设置cookie的path与domain,如果不设置的话,默认是当前的path和domain。
---待更新