Bhu*_*han 5 java jsp tomcat servlets glassfish
我使用的开发Web应用程序JSP和Servlets(:集装箱Tomcat7,数据库:Oracle10)
我已经开发了一些Web应用程序一样Profile,Reports,Leads.然后我开发了一个Login应用程序.在这个应用程序中,我将USERID存储在Session一些更多的会话属性中.
用户登录后,将显示菜单,其中包含指向其他应用程序的链接,例如指向Profile应用程序的链接.
所以当我Session在用户登录后访问时:
Profiles我得到了会话null用于检查会话的代码片段(登录Web应用程序中的Servlet过滤器)
HttpSession session = request.getSession(false);
if(session==null)
{
System.out.println("Session does not exist... Redirected to LOGIN Page.");
response.sendRedirect("/ApplicationName/Login.jsp");
}
Run Code Online (Sandbox Code Playgroud)
我正在访问Profile应用程序中的会话以检查用户是否已登录.
然后我搜索了,并且我发现Session出于安全原因无法从其他应用程序访问.(我还发现它可以通过设置完成crossContext="true")
然后我找到了其他选项,比如制作EAR所有应用程序然后进行部署,但遗憾的EAR是它不受支持Tomcat7.
我是网络环境的新手,所以如果有人在此之前做过这方面的工作,那么请告诉我有什么选择?
提前致谢
UPDATE1
现在我决定使用EAR,我将打包所有WAR文件,然后我将尝试在它们之间共享会话.因为Tomcat不支持EAR我已经安装了Oracle Glassfish,然后我创建Enterprise Application Project包含两个应用程序1. Login和2. Profiles,然后创建EAR文件,并部署它Glassfish.所以我想分享这两个应用程序之间的会话(在Glassfish上),所以如果有人对它有任何想法,请告诉我.(链接到任何教程也将不胜感激)
如上所述,您要求的要求是单点登录(SSO).您可以实现的最简单的SSO如下:
使用AES-256进行加密.
我在商店中看到的方法是将登录凭据填充到加密的 cookie 中,并安装代理(java 过滤器、Web 服务器 mods 等,在需要用户数据的应用程序前面),这些代理将解密 cookie 并通过将数据传输至下游应用程序。如果您想在应用程序之间共享登录信息,请不要将登录信息存储在 HTTP 会话中。
| 归档时间: |
|
| 查看次数: |
11074 次 |
| 最近记录: |