天翎MyApps技术社区 - 低代码平台 | 流程管理系统 | BPM软件

 找回密码
 注册成为天翎用户
查看: 896|回复: 8

[已解决] 在sp10如何实现单点登录

[复制链接]
金中软件 发表于 2014-1-8 12:57:06 | 显示全部楼层 |阅读模式
本帖最后由 kimi 于 2014-1-8 17:34 编辑

在后台设定如下:
QQ截图20140108125240.png
页面是:
  1. <%@page import="javax.servlet.http.Cookie"%>
  2. <%@page import="javax.servlet.http.*"%>
  3. <%@page import="javax.servlet.*"%>
  4. <%@ page contentType="text/html;charset=UTF-8" language="java"%>
  5. <%@page import="sun.misc.BASE64Encoder"%>
  6. <%@page import="sun.misc.BASE64Decoder"%>
  7. <%
  8.         response.setContentType("text/html;charset=UTF-8");
  9.         request.setCharacterEncoding("utf-8");

  10.         BASE64Encoder encoder = new sun.misc.BASE64Encoder();
  11.         BASE64Decoder decoder = new BASE64Decoder();
  12.         /*String domainname = "公积金";//企业域名
  13.         String account = "kingon";//用户账户
  14.         String password = "kingon";//密码*/

  15.         //String domainname = request.getParameter("domainname");//企业域名
  16.         String domainname = "好先机培训网";//"公积金";
  17.         String account = "8000003";//request.getParameter("account");//用户账户
  18.         String password = "123456";//request.getParameter("password");//密码
  19.         System.out
  20.                         .println("================================================================="
  21.                                         + domainname);

  22.         //单点登录模式平台读取用户信息需要解密,因而存储用户信息也需要加密
  23.         Cookie cookiet = new Cookie("obpmDomainName",
  24.                         (new sun.misc.BASE64Encoder()).encode(
  25.                                         domainname.trim().getBytes()).toString());
  26.         Cookie obpmLoginAccount = new Cookie("obpmLoginAccount",
  27.                         (new sun.misc.BASE64Encoder()).encode(
  28.                                         account.trim().getBytes()).toString());
  29.         Cookie obpmLoginPassword = new Cookie("uerPassword",
  30.                         (new sun.misc.BASE64Encoder()).encode(
  31.                                         password.trim().getBytes()).toString());
  32.         //设置cookie的生命周期
  33.         cookiet.setMaxAge(60 * 60 * 24);
  34.         obpmLoginAccount.setMaxAge(60 * 60 * 24);
  35.         obpmLoginPassword.setMaxAge(60 * 60 * 24);
  36.         //设置cookie的路径
  37.         cookiet.setPath("/");
  38.         obpmLoginAccount.setPath("/");
  39.         obpmLoginPassword.setPath("/");
  40.         //添加cookie
  41.         response.addCookie(obpmLoginAccount);
  42.         //response.addCookie(obpmLoginPassword);
  43.         response.addCookie(cookiet);
  44.         session.setAttribute("IsClientLogin", true);
  45.         response.sendRedirect("http://172.10.0.20:8080/haoxianji/portal/login/sso.action");
  46.         //request.getRequestDispatcher("http://172.10.0.221:9090/CPF/portal/login/sso.action").forward(request, response);
  47. %>
  48. <title>demo</title>
  49. </head>
  50. <body>

  51.         <!--<iframe name="iframe" style="display: 'none'"></iframe>
  52. <a href="http://localhost:8080/CPF/portal/login/sso.action">myApps平台主页</a>-->
  53. </body>
  54. </html>
复制代码
问题是每次都不能直接进入页面,都被挡在:
QQ截图20140108125550.png
问下,改如何实现呢?
kimi 发表于 2014-1-8 13:47:36 | 显示全部楼层
您好:本地在sp10上面进行确认,有结果后再给您答复。
sophie 发表于 2014-1-8 14:45:39 | 显示全部楼层
您好,本地用您提供的jsp页面,测试是可以正常跳转到平台页面中,而不会被挡在登录页面,您确认一下您的这两个工程是放在同一个服务器上的,本地测试,两个工程放在同一个机器上是能正常跳转的。
 楼主| 金中软件 发表于 2014-1-8 15:07:36 | 显示全部楼层
两个都是放在同一服务器上。
我试了N次都不能进入页面,问下你还做了什么设置?
kimi 发表于 2014-1-8 15:13:48 | 显示全部楼层
您好:麻烦您加下我的Q:972284703,我远程看看你的配置和操作。
 楼主| 金中软件 发表于 2014-1-8 15:39:12 | 显示全部楼层
补充一下,目标是放到同一服务器上,现在我是在本机测试的,所有还没成,测试完后再回帖吧。
kimi 发表于 2014-1-8 15:39:37 | 显示全部楼层
远程+电话客户发现,这2个工程不是放到同一台服务器上面的,http://www.teemlink.com/bbs/view ... 5%B5%E3%B5%C7%C2%BC 该帖子中说了,如果使用这种方式的单点登录是不能跨域的,客户表示明白了,稍后再去尝试在一台服务器上。
 楼主| 金中软件 发表于 2014-1-8 17:29:18 | 显示全部楼层
两个web项目放在同一服务器里面就可以了。谢谢!
kimi 发表于 2014-1-8 17:33:47 | 显示全部楼层
恩好的,感谢您的反馈。

本版积分规则

QQ|手机版|天翎MyApps技术社区 ( 粤ICP备11093750号 )

GMT+8, 2026-8-13 11:14

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表