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

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

[整合] cookie单点登录的demo

[复制链接]
shary 发表于 2011-12-11 20:35:47 | 显示全部楼层 |阅读模式
本帖最后由 spiral 于 2013-6-18 13:47 编辑

Q:麻烦给一个用cookie单点登录的例子。
A:您好,我这边给您提供一个关于web工程和myApps平台的单点登录demo.其中以web工程为登录界面。
   由于IE的安全机制不支持cookie跨域的单点登录方式。如果需要跨域实现单点登录建议您用平台提供的Cas服务器或者AD单点登录方式。  
   第一步:平台单点登录的配置。如下图所示:
    单点登录.jpg
    第二步:web工程的jsp页面内容:
<%@page import="javax.servlet.http.Cookie"%>
<%@page import="javax.servlet.http.*"%>
<%@page import="javax.servlet.*"%>
<%@ page contentType="text/html;charset=UTF-8" language="java"%>
<%@page import="sun.misc.BASE64Encoder"%>
<%@page import="sun.misc.BASE64Decoder"%>
<%
        BASE64Encoder encoder = new sun.misc.BASE64Encoder();
        BASE64Decoder decoder = new BASE64Decoder();
        String domainname = "111111";//企业域名
        String account = "111111";//用户账户
        String password = "111111";//密码
        //单点登录模式平台读取用户信息需要解密,因而存储用户信息也需要加密
        Cookie cookiet = new Cookie("obpmDomainName",
                        (new sun.misc.BASE64Encoder()).encode(
                                        domainname.trim().getBytes()).toString());
        Cookie obpmLoginAccount = new Cookie("obpmLoginAccount",
                        (new sun.misc.BASE64Encoder()).encode(
                                        account.trim().getBytes()).toString());
        Cookie obpmLoginPassword = new Cookie("obpmLoginPassword",
                        (new sun.misc.BASE64Encoder()).encode(
                                        password.trim().getBytes()).toString());
        //设置cookie的生命周期
        cookiet.setMaxAge(60 * 60 * 24);
        obpmLoginAccount.setMaxAge(60 * 60 * 24);
        obpmLoginPassword.setMaxAge(60 * 60 * 24);
        //设置cookie的路径
        cookiet.setPath("/");
        obpmLoginAccount.setPath("/");
        obpmLoginPassword.setPath("/");
        //添加cookie
        response.addCookie(obpmLoginAccount);
        response.addCookie(obpmLoginPassword);
        response.addCookie(cookiet);
%>
<title>demo</title>
</head>
<body>
<a href="http://localhost:8080/obpm/portal/login/sso.action">myApps平台主页</a>
</body>
</html>

本版积分规则

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

GMT+8, 2026-8-12 03:01

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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