java session缓存_Java服务端采用Session的缓存oauth2.0授权用户信息
前面有讲到session和cookie的一些简单的区别和比较,我们继续为java在服务端如何对session的操作留下笔记,这里以用户的登陆和退出操作为实用场景,简单讲解session的建立、清空等操作!
①用户登陆获取用户信息并放置到session中,在项目中简单代码如下:/**
* @Description: 用户oauth授权登录
* @param @param request
* @param @param response
* @param @param code
* @param @param state
* @param @return
* @author dapengniao
* @date 2016年1月13日 下午3:59:14
*/
@RequestMapping("login")
public ModelAndView UserOAuthLogin(ModelAndView view,
HttpServletRequest request, HttpServletResponse response,
@RequestParam(value = "code", required = false) String code,
@RequestParam(value = "state", required = false) String state) {
OauthCode_GetUseInfo oauth = new OauthCode_GetUseInfo(code);
try {
UserInfo userinfos = oauth.getUserInfo();//通过公用方法用code获取用户基本信息
request.getSession().setAttribute("unionid",userinfos.getUnionid()); //将用户unionid缓存到session
request.getSession().setAttribute("petname",
userinfos.getNickname()); //将昵称缓存到session
view.setViewName("index");
return view;
} catch (Exception e) {
logger.error(e, e);
return view;
}
}
将用户相关信息放入到session中,服务端就可以根据session中是否存在用户信息给与用户不同的权限,这个功能我们在下面将采用filter(过滤器)实现详细讨论!
②用户在页面做退出操作的时候需要将用户session消息清空,以方便控制用户权限,简单代码如下:/**
* @Description: 用户登录退出
* @param @param request
* @author dapengniao
* @date 2016年1月22日 下午12:03:16
*/
@RequestMapping("loginout")
public void userLoginOut(HttpServletRequest request){
request.getSession().invalidate();
}
这里将用户信息清空,用户再次访问的时候就会需要用户再次登录才能进行下一步操作!
下篇我们将采用filter和session去实现用户权限的控制操作,感谢你的翻阅,如有疑问可以留言一起讨论!
除非注明,否则文章均由 崔用志博客 整理发布,欢迎转载。
如果喜欢,可以点此订阅本站
java session缓存_Java服务端采用Session的缓存oauth2.0授权用户信息相关推荐
- Java 监控方案_Java 服务端监控方案
对于任何一个服务端应用来说,监控都是至关重要的一环.一个系统在运行过程当中太容易出现故障,网络.存储.系统负载.软件 Bug,任何一个点出现问题都有可能影响到整个系统的稳定运行,因此,监控必不可少.一 ...
- Java Websocket实例【服务端与客户端实现全双工通讯】
Java Websocket实例[服务端与客户端实现全双工通讯] 现很多网站为了实现即时通讯,所用的技术都是轮询(polling).轮询是在特定的的时间间隔(如每1秒),由浏览器对服务器发 出HTTP ...
- http 缓存分为客户端缓存和服务端缓存
http 缓存分为客户端缓存和服务端缓存 1. 客户端缓存 客户端缓存指的是浏览器缓存, 浏览器缓存是最快的缓存, 因为它直接从本地获取(但有可能需要发送一个请求), 它的优势是可以减少网络流量, 加 ...
- Java中Socket通信-服务端和客户端双向传输字符串实现
场景 什么是socket 在计算机通信领域,socket 被翻译为"套接字",它是计算机之间进行通信的一种约定或一种方式.通过 socket 这种约定,一台计算机可以接收其他计算机 ...
- java开源即时通讯软件服务端openfire源码构建
java开源即时通讯软件服务端openfire源码构建 本文使用最新的openfire主干代码为例,讲解了如何搭建一个openfire开源开发环境,正在实现自己写java聊天软件: 编译环境搭建 调试 ...
- java 32位授权码_Java实现OAuth2.0授权码方式
Java实现OAuth2.0授权码方式 前面介绍了OAuth2.0和授权方式,可以参考以下文章: 今天就用Java来验证OAuth2.0授权方式的授权码式,我们Spring Cloud的OAuth来实 ...
- Java微信公众平台开发(十六)--微信网页授权(OAuth2.0授权)获取用户基本信息
转自:http://www.cuiyongzhi.com/post/78.html 好长时间没有写文章了,主要是最近的工作和生活上的事情比较多而且繁琐,其实到现在我依然还是感觉有些迷茫,最后还是决定静 ...
- 微信企业号OAuth2.0授权-Java
为什么80%的码农都做不了架构师?>>> 我也是醉了,中午做个饭这么难吃!连自己都看不下去了!怀着沉重的心情把微信企业号OAuth2.0授权看了看,感觉与公众号差别没什么,相信 ...
- 服务端关闭session的重要性
原因如下: 如果你的站点是一个每日请求上百万级规模的接口服务, 每一次请求(这里应该是没有携带cookie的请求)都会在服务端产生一个session会话,也就是一个小文件. 一般而言,php的sess ...
最新文章
- pandas学习之Series结构
- 听说你们找我很久了?
- ArcGIS中的坐标系定义与转换 (转载)
- 使用popwindow制作弹出框与获得焦点弹出软键盘
- DBA遇到问题时的30 个反应,你是哪一种?
- spring 14-Spring框架JDBC操作
- 星尘小组第十一周翻译-设计和优化索引
- 用R命令看一下各个寄存器的设置情况
- linux中ssh启动init,Linux系统上SSH无法启动
- 关于身份证校验算法的一些想法
- 如何在 macOS 上安装Axure RP
- 线阵相机与面阵相机的区别在哪里?
- PPT学习整理(四)表格
- 达梦数据库大小写这个参数敏感怎样设置
- 超大图片的储存/处理/显示
- 中科院软件所的毕业去向(硕+博)
- java解析XML saxReader.read(xml) 错误:org.dom4j.DocumentException: no protocol
- 手机维修刷机专业论坛:天目通移动维修论坛
- Java安装方法(详细)
- JavaScript之for循环、while循环 continue、break与代码规范