Spring-boot oauth2使用RestTemplate进行后台自动登录的实现

内容不限于登录业务,主要简单介绍RestTemplate的用法,包括

  • 使用RestTemplate进行post请求 postForObject
  • 使用RestTemplate带body/form-data进行post请求 MultiValueMap
  • 使用RestTemplate带josn进行post请求JSONObject
  • 使用RestTemplate带头信息headers进行post请求 HttpHeaders

登录流程

  • 定义 RestTemplate
  • 定义 MultiValueMap,构造 post的body内容
  • 定义 HttpHeaders,构造请求的头部信息
  • 定义 HttpEntity,发送请求的实体
  • 定义 RestTemplate,进行请求。返回数据

主要代码

  // 构造 post的body内容(要post的内容,按需定义)
  MultiValueMap<String, String> paramsMap = new LinkedMultiValueMap<>();
  paramsMap.set("grant_type", "password");
  paramsMap.set("username", "yourname");
  paramsMap.set("password", "yourpassword");

  // 构造头部信息(若有需要)
  HttpHeaders headers = new HttpHeaders();
  headers.add("Authorization", "Basic xxxxxx你的认证密钥");
  // 设置类型 "application/json;charset=UTF-8"
  headers.setContentType(MediaType.APPLICATION_JSON); 

  // 构造请求的实体。包含body和headers的内容
  HttpEntity<MultiValueMap<String, String>> request = new HttpEntity(paramsMap, headers);

  // 声明 restTemplateAuth(用作请求)
  RestTemplate restTemplateAuth = new RestTemplate();
  // 进行请求,并返回数据
  String authInfo = restTemplateAuth.postForObject("http://localhost:8089/oauth/token", request, String.class);

使用josn请求的示例代码

Posting JSON with postForObject

  JSONObject personJsonObject = new JSONObject();
  personJsonObject.put("id", 1);
  personJsonObject.put("name", "John");

  HttpEntity<String> request = new HttpEntity<String>(personJsonObject.toString(), headers);
  String personResultAsJsonStr = restTemplate.postForObject("url", request, String.class);

到此这篇关于Spring-boot oauth2使用RestTemplate进行后台自动登录的实现的文章就介绍到这了,更多相关Spring-boot oauth2 后台自动登录内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 实例详解Spring Boot实战之Redis缓存登录验证码

    本章简单介绍redis的配置及使用方法,本文示例代码在前面代码的基础上进行修改添加,实现了使用redis进行缓存验证码,以及校验验证码的过程. 1.添加依赖库(添加redis库,以及第三方的验证码库) <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-redis</artifactId> </dependency&

  • SpringBoot创建JSP登录页面功能实例代码

    添加JSP配置 1.pom.xml添加jsp解析引擎 <dependency> <groupId>org.apache.tomcat.embed</groupId> <artifactId>tomcat-embed-jasper</artifactId> <scope>provided</scope> </dependency> <dependency> <groupId>javax.s

  • SpringBoot框架集成token实现登录校验功能

    简介 公司新项目,需要做移动端(Android和IOS),登录模块,两个移动端人员提出用token来校验登录状态,一脸懵懵的,没做过,对于token的基本定义都模棱两可,然后查资料查查查,最终OK完成,写篇博客记录一下 思路: 1.基于session登录 基于session的登录(有回话状态),用户携带账号密码发送请求向服务器,服务器进行判断,成功后将用户信息放入session,用户发送请求判断session中是否有用户信息,有的话放行,没有的话进行拦截,但是考虑到时App产品,牵扯到要判断用户

  • springboot实现拦截器之验证登录示例

    整理文档,搜刮出一个springboot实现拦截器之验证登录示例,稍微整理精简一下做下分享. 添加jar包,这个jar包不是必须的,只是在拦截器里用到了,如果不用的话,完全可以不引入 <dependency> <groupId>org.apache.commons</groupId> <artifactId>commons-lang3</artifactId> <version>3.5</version> </dep

  • 详解spring boot配置单点登录

    概述 企业内部一般都有一套单点登录系统(常用的实现有apereo cas),所有的内部系统的登录认证都对接它.本文介绍spring boot的程序如何对接CAS服务. 常用的安全框架有spring security和apache shiro.shiro的配置和使用相对简单,本文使用shrio对接CAS服务. 配置 新增依赖 pom.xml新增: <properties> <shiro.version>1.2.4</shiro.version> </properti

  • SpringBoot拦截器实现登录拦截的方法示例

    源码 GitHub:https://github.com/291685399/springboot-learning/tree/master/springboot-interceptor01 SpringBoot拦截器可以做什么 可以对URL路径进行拦截,可以用于权限验证.解决乱码.操作日志记录.性能监控.异常处理等 SpringBoot拦截器实现登录拦截 pom.xml: <?xml version="1.0" encoding="UTF-8"?> &

  • vue+springboot前后端分离实现单点登录跨域问题解决方法

    最近在做一个后台管理系统,前端是用时下火热的vue.js,后台是基于springboot的.因为后台系统没有登录功能,但是公司要求统一登录,登录认证统一使用.net项目组的认证系统.那就意味着做单点登录咯,至于不知道什么是单点登录的同学,建议去找一下万能的度娘. 刚接到这个需求的时候,老夫心里便不屑的认为:区区登录何足挂齿,但是,开发的过程狠狠的打了我一巴掌(火辣辣的一巴掌)...,所以这次必须得好好记录一下这次教训,以免以后再踩这样的坑. 我面临的第一个问题是跨域,浏览器控制台直接报CORS,

  • Springboot实现验证码登录

    本文实例为大家分享了Springboot实现验证码登录的具体代码,供大家参考,具体内容如下 因为在项目中需要使用到验证码,我总结一下在项目中如何快速解决项目需求~验证码,下面推荐给大家速上手验证码的例子. 一.编写验证码工具类 import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.FileOutputStr

  • spring boot整合Shiro实现单点登录的示例代码

    Shiro是什么 Shiro是一个Java平台的开源权限框架,用于认证和访问授权.具体来说,满足对如下元素的支持: 用户,角色,权限(仅仅是操作权限,数据权限必须与业务需求紧密结合),资源(url). 用户分配角色,角色定义权限. 访问授权时支持角色或者权限,并且支持多级的权限定义. Q:对组的支持? A:shiro默认不支持对组设置权限. Q:是否可以满足对组进行角色分配的需求? A:扩展Realm,可以支持对组进行分配角色,其实就是给该组下的所有用户分配权限. Q:对数据权限的支持? 在业务

  • Spring-boot oauth2使用RestTemplate进行后台自动登录的实现

    内容不限于登录业务,主要简单介绍RestTemplate的用法,包括 使用RestTemplate进行post请求 postForObject 使用RestTemplate带body/form-data进行post请求 MultiValueMap 使用RestTemplate带josn进行post请求JSONObject 使用RestTemplate带头信息headers进行post请求 HttpHeaders 登录流程 定义 RestTemplate 定义 MultiValueMap,构造 p

  • 3行代码快速实现Spring Boot Oauth2服务功能

    这里的3行代码并不是指真的只需要写3行代码,而是基于我已经写好的一个Spring Boot Oauth2服务.仅仅需要修改3行数据库配置信息,即可得到一个Spring Boot Oauth2服务. 项目地址https://github.com/jeesun/oauthserver oauthserver 简介 oauthserver是一个基于Spring Boot Oauth2的完整的独立的Oauth服务器.仅仅需要创建相关数据表,修改数据库的连接信息,你就可以得到一个Oauth服务器. 支持的

  • 详解Spring Boot Oauth2缓存UserDetails到Ehcache

    在Spring中有一个类CachingUserDetailsService实现了UserDetailsService接口,该类使用静态代理模式为UserDetailsService提供缓存功能.该类源码如下: CachingUserDetailsService.java public class CachingUserDetailsService implements UserDetailsService { private UserCache userCache = new NullUserC

  • Spring boot security权限管理集成cas单点登录功能的实现

    目录 1.Springboot集成Springsecurity 2.部署CASserver 3.配置CASclient 挣扎了两周,Spring security的cas终于搞出来了,废话不多说,开篇! 1.Spring boot集成Spring security 本篇是使用spring security集成cas,因此,先得集成spring security新建一个Spring boot项目,加入maven依赖,我这里是用的架构是Spring boot2.0.4+Spring mvc+Spri

  • Spring Boot实现qq邮箱验证码注册和登录验证功能

    1.登录注册思路 这是一个使用spring boot做的一个qq邮箱注册和登录的项目. 没写前端页面,使用postman测试.有截图详细. 1.1.思路 注册:通过输入的邮箱发送验证码,检验前端传来的验证码是否和后台生成的一致,若一致,将数据写入数据库,完成注册: 登录:通过输入的邮箱查询密码,然后比较密码是否一致,一致就是登录成功. 1.2.整个项目结构图 2.准备 2.1.开启邮箱POP3/SMTP服务 登录qq邮箱后,点击左上方的设置,选择账户,如下图. 然后一直往下滑,看到如下图的POP

  • Spring Security Oauth2.0 实现短信验证码登录示例

    本文介绍了Spring Security Oauth2.0 实现短信验证码登录示例,分享给大家,具体如下: 定义手机号登录令牌 /** * @author lengleng * @date 2018/1/9 * 手机号登录令牌 */ public class MobileAuthenticationToken extends AbstractAuthenticationToken { private static final long serialVersionUID = SpringSecur

  • Spring Cloud OAuth2 实现用户认证及单点登录的示例代码

    OAuth 2 有四种授权模式,分别是授权码模式(authorization code).简化模式(implicit).密码模式(resource owner password credentials).客户端模式(client credentials),具体 OAuth2 是什么,可以参考这篇文章.(http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html) 本文我们将使用授权码模式和密码模式两种方式来实现用户认证和授权管理. OAuth2 其

  • spring boot实现图片上传到后台的功能(浏览器可直接访问)

    目录 1. 配置上传文件最大数值 2. 配置虚拟路径映射 3. 编写controller程序 4. 测试 1. 配置上传文件最大数值 默认情况下,在spring boot嵌入的tomcat限制了上传文件的大小,在spring boot的我官方文档中说明,每个文件的最大配置为1Mb,单次请求的总文件数不能大于10Mb. 这意味着如果你上传的图片大于1Mb,会被拦截下来,无法正常保存到后台,并抛出一个错误,返回状态码:500. The field file exceeds its maximum p

  • Spring Boot Security配置教程

    1.简介 在本文中,我们将了解Spring Boot对spring Security的支持. 简而言之,我们将专注于默认Security配置以及如何在需要时禁用或自定义它. 2.默认Security设置 为了增加Spring Boot应用程序的安全性,我们需要添加安全启动器依赖项: <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-

  • 什么是Spring Boot

    本文介绍将各种Spring的配置方式,帮助您了解配置Spring应用的复杂性. Spring是一个非常受欢迎的Java框架,它用于构建web和企业应用.不像许多其他框架只关注一个领域,Spring框架提供了各种功能,通过项目组合来满足当代业务需求. Spring框架提供了多种灵活的方式配置Bean.例如XML.注解和Java配置.随着功能数量的增加,复杂性也随之增加,配置Spring应用将变得乏味而且容易出错. Spring团队创建了Spring Boot以解决配置复杂的问题. 但在开始Spri

随机推荐