解决方案 »

  1.   

    ServletContext实现的实际上不是SESSION共享,而是将多个应用之间共用了一个上下文。在此基础上实现的session共享实际上就是保存多个session之间的关系,换句话说是由自己实现的。用户u1在a1应用登录后,对应的session - s1 对应了a1的应用权限,在应用a2上具有哪些权限,是需要应用a2更具u1的身份自己生成的。u1 - a1 - s1 对应关系 、 u1 - a2 - s2 对应关系,这两个之间的关联是保存在统一的上下文里。权限实现的步骤应该是这样的:
    1, u1 在a1 登录,保存 u1 身份 + s1对应关系 到 上下文
    2,用户u1跳转到a2后, a2 读取上下文,获得 u1 的身份信息,生成a2的权限信息保存到s2