单点登陆的测试

Posted 纯丿乱

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了单点登陆的测试相关的知识,希望对你有一定的参考价值。

今天做了个单点登陆 。

但是怎么测试呢?

下面请看详解:

源码中是这样的:

    /**
     * 单点登录改造
     * 
     * @param request
     * @param response
     * @return
     * @throws IOException
     * @throws HttpException
     * @throws IOException
     */
    @RequestMapping(value = "/rcbSingleLoginCheck.do")
    public Object singleLoginCheck(HttpServletRequest request,
            HttpServletResponse response) throws IOException {
        response.setCharacterEncoding("UTF-8");
        // 会话失效
        request.getSession().invalidate();// 使会话失效,解除资源占用
        PrintWriter writer = null;
        PbUser pbUser = null;
        // 用户编码
        String userCode = request.getParameter("user_code");
        
        //config
        String config = request.getParameter("config");
        log.info("单点登陆时获取的config-----"+config);

        try {
            if (StringUtils.isEmpty(userCode)) {
                throw new PbException("无法获取用户编码,请确认!");
            }
            if(StringUtils.isEmpty(config)){
                throw new PbException("无法获取外设配置信息config!");
            }
            //将config保存在session中
            Session sc = new Session();
            HashMap customParam = new HashMap();
            customParam.put("config", config);
            sc.setCustomParam(customParam);
            
            pbUser = pbUserService.loadPbUser(userCode);
            if (null == pbUser) {
                throw new PbException("登录失败,当前系统中不存在该用户:" + userCode);
            } else if (pbUser.getEnabled() != 1) {
                throw new PbException("登录失败, 用户:" + userCode + "已禁用");
            }
            request.getSession().setAttribute("userInfo", pbUser); 

            sc.setUserId(pbUser.getUser_id());
            sc.setUserCode(pbUser.getUser_code());
            sc.setUserName(pbUser.getUser_name());
            sc.setUserType(pbUser.getUser_type());
            sc.setEntry(pbUser.getEntry());
            //记录用户登陆的网点编码、转账时需要传递机构编码(即是用户登陆的网点编码)
            sc.setBelongOrgCode(pbUser.getBank_code());
            sc.setTop_org(1);
            Calendar cal = Calendar.getInstance();
            sc.setBusiYear( cal.get(Calendar.YEAR));
            sc.setBelongOrgId(pbUser.getBank_id());
            //add zhouqi  20131213 终端号
            sc.setTellerCode(pbUser.getTellercode());
            //ztl 2014年4月23日17:42:07  济南 建行核心使用
            sc.setBankcode(pbUser.getBank_code());
            sc.setBankname(pbUser.getBank_name());
            //wtb  20160224 用户客户端id
            sc.setIp(this.getIp(request));
            sc.setBankLevel(pbUser.getBank_level());
            sc.setManager_type(pbUser.getManager_type());
            request.getSession().setAttribute("session", sc);
            //记录登录日志
            logService.saveLoginLogInfo(sc,"用户登录,ip:" + this.getIp(request),pbUser.getCode());
    
            int loginModel = PbParameters
                    .getIntParameter(PbParaConstant.LOGINMODEL);
            request.getSession().setAttribute("loginModel", loginModel);
            request.getSession().setAttribute("session", sc);
            // 更改用户最后登陆日期
            pbUserService.editUserLastloginDate(pbUser);
            return new ModelAndView("/Index");

        } catch (Exception e) {
            log.error(e.getMessage(), e);
            writer = response.getWriter();
            writer.write(e.getMessage());
        }
        return null;
    }

 

url 写 : http://localhost:8080/realware/rcbSingleLoginCheck.do?config=1&user_code=000015  这样就可以测试了。 经测试:成功。

以上是关于单点登陆的测试的主要内容,如果未能解决你的问题,请参考以下文章

08-微服务版单点登陆系统(SSO)实践(2107)

CAS 单点登陆

cas单点登陆系统-建立单点登陆系统的应用

微信公众平台测试号申请使用HBuilder X与微信开发者工具实现授权登陆功能以及单点登录

sso单点登陆

CAS单点登出了还能获取到用户登陆信息