实现SSO的步骤
Passport Server的作用是验证用户、保存维护登陆状态、为成员网站提供当前某用户的状态信息。Passport Server核心部分为两个类,Ticket 和 TicketCache
Ticket为登陆用户的基本信息类,包含一个随机生成的TicketID,和用户帐号及其他用户信息。
TicketCache负责维护当前所有的Ticket信息,目前我的程序中其实就是继承的Hashtable,TicketCache初始化时启动一Timer定期清理过期的Ticket。TicketCache保存在Application Server的ServletContext中,确保所有会话均可读龋
Passport Server提供的接口主要为Login、Logout、Profile
其中Login、Logout为登录、注销的Servlet
Profile为成员网站提供Ticket的登陆信息,成员网站通过此接口读取到以XML格式返回的Ticket信息,从而判断用户是否登陆。
Passport Server与成员网站之间实现一次登陆,全部站点皆可使用的关键是如何在多个站点之间传递TicketID,以便成员网站从Passport Server读取到该用户的登陆状态。这需要借助与Cookie,如何实现Cookie的跨域传递成为解决SSO的最大问题。
本文地址:http://www.45fan.com/a/question/73354.html