我正在尝试为以前构建的Web应用程序添加新功能。该应用程序使用j_security_check
。我想使用另一个单点登录服务登录应用程序。最佳做法是什么?
P.S。我看不到j_security_check
检查用户名和密码的位置。任何帮助都将不胜感激。
编辑:实际上我想要做的是使用另一个sso服务登录j_security_check。另一个SSO系统是另一个我们的应用程序。用户登录到该应用程序,该应用程序发给我一个令牌。在它发布令牌后,我可以获得登录用户的用户ID。
谢谢!
答案 0 :(得分:1)
j_security_check
或Realm
是网络容器或tomcat
检查登录信息的方式!
如果您检查server.xml
文件中tomcat
或context.xml
的配置文件中的META-INF
,则可以看到Realm
标记,其中显示了{{1}检查登录功能。
您不能在应用程序中多次使用Realm
。如果你想实现另一个单点登录,你应该自己实现它。但我不知道你为什么要实施两个单点登录!真奇怪!
我认为最好的方法是将某些东西放在Realm
中并检查以确保用户正在登录。
正如您所说,页面太多而且处理这类项目非常困难,我建议您使用session
模式或Front Controller
设计模式。您只能在Facade
中查看会话。
你可以在这里阅读更多内容:
http://en.wikipedia.org/wiki/Front_Controller_pattern
http://java.dzone.com/articles/understanding-front-controller http://www.allapplabs.com/j2ee_design_patterns/j2ee_design_patterns_front_controller.htm