Java电商项目-8.实现SSO单点登陆
创建ashop-sso-web单点登陆系统
- 先创建好模块, 然后配置pom.xml文件
- 加入spring的配置文件
- 然后配置web.xml文件, 并把静态资源放到webapp目录下. 打包部署模块测试, 能看到如下效果则项目搭建成功.
用户名唯一性验证
请求方法 | GET |
---|---|
URL | http://sso.ashop.com/user/check/{param}/{type} |
参数说明 | 格式如:zhangsan/1,其中 zhangsan 是校验的数据,type 为类型,可选参数 1、2、3 分别代表 username、phone、email. 可选参数 callback:如果有此参数表示此方法为 jsonp 请求,需要支持 jsonp。 |
示例 | http://sso.egou.com/user/check/zhangsan/1 |
返回值 | {status: 200 //200 成 功 msg: "OK"// 返回信息消息 data: false // 返回数据,true:数据可用,false:数据不可用} |
- 编写远程服务方法
- 到sso web模块中编写对应接口与实现类.
- 编写controller
用户注册
- 编写远程方法
- 用postman客户端工具测试一下
用户登陆
- 编写远程服务方法
- sso-web模块
- 编写处理用户登陆请求的controller
获得用户登陆状态
- 通过Token获得用户登陆状态
- 直接在sso-web模块实现相应的service接口及实现类即可
实现安全退出
- 同样是在sso-web模块中编写service接口和实现类
- 最后可以用postman进行测试.
项目的Github地址
Java电商项目-8.实现SSO单点登陆的更多相关文章
- Java电商项目-1.构建数据库,搭建项目环境
目录 到Github获取源码请点击此处 一. 数据库还原 二. Mybatis逆向生成工具的使用 三. 搭建项目环境 四. 在linux虚拟机上部署zookeeper, 搭建Dubbo服务. linu ...
- Java电商项目-6.实现门户首页数据展示_Redis数据缓存
目录 项目的Github地址 需求介绍 搭建Redis集群环境 下面先描述单机版redis的安装 下面将进行Redis3主3从集群环境搭建 基于SOA架构, 创建门户ashop-portal-web门 ...
- Java电商项目-3.使用VSFTPD_Nginx完成商品新增
目录 到Github获取源码请点击此处 一. 商品类目查询 二. FTP图片服务器的搭建 图片上传思路介绍 Linux中安装vsftpd 接着配置ftp服务, 让外网可以访问 Http服务器搭建 Ng ...
- java电商项目常见异常
1. java.lang.nullpointerexception 这个异常大家肯定都经常遇到,异常的解释是"程序遇上了空指针",简单地说就是调用了未经初始化的对象或者是不存在的对 ...
- Java电商项目-5.内容管理cms系统
目录 实现加载内容分类树功能 实现内容分类动态添加 删除内容分类节点 实现内容分类节点的分页显示 实现广告内容的添加 实现广告内容删除 实现广告内容编辑 到Github获取源码请点击此处 实现加载内容 ...
- Java电商项目,秒杀,抢购等高并发场景的具体场景和一些概念以及处理思路
这里我借鉴了网上其他大佬的观点: 一:高并发带来的挑战 原因:秒杀抢购会经常会带来每秒几万的高并发场景,为了更快的返回结果给用户. 吞吐量指标QPS(每秒处理请求数),假设一个业务请求响应耗时为100 ...
- Java 18套JAVA企业级大型项目实战分布式架构高并发高可用微服务电商项目实战架构
Java 开发环境:idea https://www.jianshu.com/p/7a824fea1ce7 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr ...
- 16套java架构师,高并发,高可用,高性能,集群,大型分布式电商项目实战视频教程
16套Java架构师,集群,高可用,高可扩展,高性能,高并发,性能优化,设计模式,数据结构,虚拟机,微服务架构,日志分析,工作流,Jvm,Dubbo ,Spring boot,Spring cloud ...
- Java企业级电商项目架构演进之路 Tomcat集群与Redis分布式
史诗级Java/JavaWeb学习资源免费分享 欢迎关注我的微信公众号:"Java面试通关手册"(坚持原创,分享各种Java学习资源,面试题,优质文章,以及企业级Java实战项目回 ...
随机推荐
- QT入门学习2
QT获取窗口几何布局有2类函数: 1.包含框架:x().y().frameGemetry().pos().move()... 2.不包含框架:geometry().width().height().w ...
- jmeter 连接 sqlite 进行压力测试
- vue2.0 vue.extend()的拓展
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- CentOS 6.4 php-fpm 添加service 添加平滑启动/重启
nginx通过FastCGI运行PHP比Apache包含PHP环境有明显的优势,最近有消息称,PHP5.4将很有可能把PHP-FPM补丁包含在内核里,nginx服务器平台上运行PHP将更加轻松,下面我 ...
- Android(java)学习笔记193:ContentProvider使用之获得系统联系人信息01
1.系统联系人的数据库(3张最重要的表) (1)raw_contacts 联系人表 保存联系人的id contact_id (2)data 数据表 保存联系人的数据 ( ...
- C#readonly 关键字与 const 关键字的区别
1. const 字段只能在该字段的声明中初始化,readonly 字段可以在声明或构造函数中初始化.因此,根据所使用的构造函数,readonly 字段可能具有不同的值. 2. const 字段是编译 ...
- snowflake机器标识自动绑定
首先附上snowflake源码 package com.yunyihenkey.common.idworker; /** * Twitter_Snowflake<br> * SnowFla ...
- 如何把datetime类型字段修改为int类型
如何把datetime类型字段修改为int类型 我有一个表为:table1 其中有一个datetime类型的字段 a 现在我想我想把字段a的类型改为int类型 当我执行以下命令时报如下的错误a ...
- HttpClient 学习整理 (转)
source:http://www.blogjava.net/Alpha/archive/2007/01/22/95216.html HttpClient 是我最近想研究的东西,以前想过的一些应用没能 ...
- 动态规划----最长公共子序列(C++实现)
最长公共子序列 题目描述:给定两个字符串s1 s2 … sn和t1 t2 … tm .求出这两个字符串的最长公共子序列的长度.字符串s1 s2 … sn的子序列指可以表示为 … { i1 < i ...