单点登录coremail邮箱

本文详细描述了如何通过在系统前端调用CoreMail邮箱的API接口,实现单点登录功能,包括获取用户信息、生成token/sid以及使用SID进行页面重定向的过程,同时涵盖了异常处理机制。
摘要由CSDN通过智能技术生成

1、单点登录CoreMail邮箱

1.1、场景

​ 客户使用的邮箱为coremail邮箱,需要在系统前端操作按钮点击后免登进入邮箱页面

1.2、业务实现流程图

1、发布get接口
2、获取到当前页面操作人的主键
3、根据唯一标识发送请求到第三方系统,解析用户信息
4、解析用户信息成功返回token/session,失败则提醒用户
5、将免登参数拼接到url上,通过get的response对象重定向到系统

在这里插入图片描述

1.3、根据工号单点登录,获取sid

  private String userLogin(String email) throws Exception {
        String sid = "";
        Socket socket_login = null;
        IClient client_login = null;
        APIContext ret_login = null;

        try {
            socket_login = new Socket(host, port);

            if (socket_login == null) {
                log.error("socket_login is null ");
                return sid;
            }

            client_login = APIContext.getClient(socket_login);
            ret_login = client_login.userLogin(email);
            if (ret_login == null) {
                log.error("ret_login is null ");
            }
            if (ret_login.getRetCode() == 0) {
                sid = ret_login.getResult();
                log.error("CoreMail登录成功:" + email
                        + ",code=" + ret_login.getRetCode());
            } else {
                log.error("CoreMail-userLogin登录失败:" + email
                        + ",code=" + ret_login.getRetCode() + ",msg=" + ret_login.getErrorInfo());
            }
        } catch (Exception e) {
            log.error("CoreMail登录异常:", e);
        } finally {
            client_login.close();
            socket_login.close();
        }
        return sid;
    }

1.4、使用SID重定向

 String dirUrl = "http://" + host + "/coremail/XT5/index.jsp?sid=" + sid + "#mail.list|{\"fid\":1}";
                log.error("单点跳转url=" + dirUrl);
                response.sendRedirect(dirUrl);
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值