单点登陆的测试

article/2025/9/3 19:48:04

今天做了个单点登陆 。

但是怎么测试呢?

下面请看详解:

源码中是这样的:

    /*** 单点登录改造* * @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");//configString 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 用户客户端idsc.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  这样就可以测试了。 经测试:成功。

转载于:https://www.cnblogs.com/donefive/p/7472349.html


http://chatgpt.dhexx.cn/article/widonPoV.shtml

相关文章

LINUX单点登陆

1.在grub引导界面(如下图)按e进入编辑模式 2.按↓键,找到以linux16开头的行,在最后加上 rd.break(如下图,注意前面有一个空格) 3.按Ctrlx进入救援模式 4.重新挂载/sysroot为可读写模式,并切换根目录为/sysroot # mount -o remou…

java实现单点登陆(SSO)

java实现单点登陆(SSO) 网络域名必须完全一致,才代表同一站点。 域名映射 :访问后面的 会跳转到前面 单点登陆概念: 多系统,单一位置登录,实现多系统同时登陆。常出现在互联网和企业级平台中。…

OAuth2:单点登陆客户端

基于EnableOAuth2Sso实现 前面我们将验证服务器已经搭建完成了,现在我们就来实现一下单点登陆吧,SpringCloud为我们提供了客户端的直接实现,我们只需要添加一个注解和少量配置即可将我们的服务作为一个单点登陆应用,使用的是第四种…

单点登陆概述

概述 什么是单点登陆 单点登陆(single sign on),简称SSO,是比较流行的企业业务整合的解决方案之一。SSO的定义是在多个应用系统中,用户只需要登陆一次就可以访问所以相互信任的应用系统。 单点登陆的实现方案 一般…

怎么做登陆(单点登陆)功能?

登陆是系统最基础的功能之一。这么长时间了,一直在写业务,这个基础功能反而没怎么好好研究,都忘差不多了。今天没事儿就来撸一下。 以目前在接触的一个系统为例,来分析一下登陆该怎么做。 简单上个图(有水印。因为穷所…

SSO单点登陆

1 SSO简介 1.1 什么是SSO 单点登录(SingleSignOn,SSO),在多个应用系统中,用户只需一次登录就可以访问所有相互信任的应用系统。单点登录常用的协议包括 CAS、OAuth、OpenID Connect、SAML。 例如:百度旗下有很多的产品&#xff…

sso单点登陆实现

多系统实现单点登录方案:SSO 单点登录 一、什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验…

单点登陆和无状态登陆

很多人都听说过单点登陆。今天我们来说说什么是单点登陆和无状态登陆。 传统的项目都是使用session来验证登陆,但是在分布式项目中使用session是不行的。因为每个服务都是一个独立的项目,那么我们将服务拆分,肯定会有一个登陆的模块。如果将用…

windows文件句柄修改

找到如下注册表分支: HKEY_LOCAL_MACHINE – SOFTWARE – – Microsoft – – – Windows NT – – – – CurrentVersion – – – – – Windows 在右侧窗格中可以看到名为“GDIProcessHandleQuota”与“USERProcessHandleQuota”的注册表项; GDIProcessHandleQuo…

Linux 查看文件句柄信息

查看系统的最大文件句柄数和文件句柄的使用者PID ulimit -n查看当前系统的最大句柄数显示如下 ulimit命令详解 ulimit -HSn x设置当前系统的文件句柄数为x 以上命令中,H指定了硬性大小,S指定了软性大小,n表示设定单个进程最大的打开文件句柄…

Windows查看文件句柄

2019独角兽企业重金招聘Python工程师标准>>> 图形界面方式 打开任务管理器 2. 性能tab,点击链接打开资源监视器; 3. 现在cpu tab,关联的句柄后面的输入框可以输入你要搜索的文件路径,可模糊匹配; 命令方式 Windows系统本身并不内置命令查看句…

linux文件句柄数

1、问题阐述: too many open files:顾名思义即打开过多文件数。 不过这里的files不单是文件的意思,也包括打开的通讯链接(比如socket),正在监听的端口等等,所以有时候也可以叫做句柄(handle),这个错误通常…

windows 查看打开的文件句柄

经常当我们删除文件时,有时会提示【操作无法完成,因为文件已在另一个程序中打开,请关闭该文件并重试】, 这个时候可以资源监控器进行查看运行的进程打开的句柄列表。 具体结果如下显示:

Linux下文件句柄

Too many open files 如果Java打开文件的时候,没有关闭IO流,那么打开到一定数量,在Linux下就会抛出Too many open files的异常。 public static class HoldIOTask implements Runnable {Overridepublic void run() {int count0;try {while(t…

【Linux】文件句柄说明

Linux 文件句柄说明 Linux中所有的事物或资源都是以文件的形式存在,比如消息、共享内存、连接等,句柄可以理解为指向这些文件的指针。 对于这些句柄,Linux是有数量限制的,单个进程默认可以打开的句柄数上限,可以用以…

windows 文件句柄查询

windows经常出现删除/剪切文件时提示文件被占用的问题 打开任务管理器, 选择“性能”选项卡 2. 打开资源管理器, 在关联句柄查询框中输入关键字,过滤查询,然后右键选中对应项,结束任务即可释放句柄

文件句柄

一、文件句柄是什么? 对象在内存中是经常来回移动的,如何快速定位找到这个对象呢? 句柄说: “我来帮你找” windows系统给出的方案 1.进程创建时,windows系统为进程构造了一个句柄表 2.当该进程希望获得一个内核对…

linux开关机命令

shutdown -h now/或者是具体的时间hh:mm; 关机; -h:关机。;-r: 重启 ;-c: 取消前一个关机命令。一般就只用shutdown这个命令;halt,poweroff,init 0 关机;init 6&#xff…

Linux命令之关机命令

shutdown命令可以用来进行关闭系统,并且在关机以前传送讯息给所有使用者正在执行的程序,shutdown 也可以用来重开机使用者权限:管理员用户 语法如下: shutdown [-t seconds] [-rkhncfF] time [message] 参数说明: …

Linux 关机 命令

一、正确的关机方法 如果直接按下电源开关,数据有可能中断。若不正常关机,则有可能造成文件系统的损毁。因此,正常关机情况下,应注意以下: 1)查看系统的使用状态 查看目前有谁在线,使用“who…