2014-06-12 91 views
0

Im为应用程序实现SSO登录功能,在该应用程序中,主机站点的SSO凭据在请求正文中与我的应用程序URL一起发送,而我的应用程序URL在我的页面的index.jsp启动时需要处理。我尝试的方法是将这些SSO凭据(作为值对象)存储在Servlet上下文中,如下所示: context.setAttribute(“ssoCredentials”,ssoLoginVO);使用实现SSO登录

一个Servlet过滤器,后来被从登录页面上的PhaseListener调用 servletContext.getAttribute( “ssoCredentials”)

检索。然而,试图获取属性不起作用,尽管我在打印属性名称列表时看到了其他属性。

这种方法是否存在缺陷,或者我没有使用正确的方法来满足我的需求?感谢您的帮助。

+0

什么是你的问题:从servlet上下文获取属性或使用servlet上下文来存储凭据(这是*不常见的*)? –

+0

您使用的是Kerberos吗? –

+0

那么问题是从上下文获取属性。不,我没有使用Kerberos,afaik是一个本土的SSO实现。 – javshak

回答

0

通过设置会话内部的值解决了这个问题。后来在bean类中进行了检索。然而,我必须注意在这种情况下防止会话失效(当使用SSO登录时)。