SSO的实现(1)——Passport Server

来源:互联网 发布:山东胜通软件 编辑:程序博客网 时间:2024/05/17 21:31
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的最大问题。

原创粉丝点击