Spring Security

超实用的Nginx极简教程,覆盖了常用场景

≡放荡痞女 提交于 2020-05-04 03:01:55
概述 安装与使用 安装 使用 nginx 配置实战 http 反向代理配置 负载均衡配置 网站有多个 webapp 的配置 https 反向代理配置 静态站点配置 搭建文件服务器 跨域解决方案 参考 概述 什么是 Nginx? Nginx (engine x) 是一款轻量级的 Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。 什么是反向代理? 反向代理(Reverse Proxy)方式是指以代理服务器来接受 internet 上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给 internet 上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 安装与使用 安装 详细安装方法请参考:Nginx 安装 使用 nginx 的使用比较简单,就是几条命令。 常用到的命令如下: nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。 nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。 nginx -s reload 因改变了Nginx相关配置,需要重新加载配置而重载。 nginx -s reopen 重新打开日志文件。 nginx -c filename 为 Nginx 指定一个配置文件,来代替缺省的。 nginx -t 不运行,而仅仅测试配置文件

SpringSecurity 1 Quickstart

梦想与她 提交于 2020-05-03 17:31:33
文章目录 关于 SpringSecurity 引入依赖 配置 SpringSecurity 运行 HttpBasic 方式登陆 表单登陆 自定义的 failureHandler 和 successHandler failureHandler successHandler 模拟登陆 总结 由于产品需要, 现在开始为 Auth 模块作技术预研和储备工作. 实际案例已经进行到很后面了…博客缓慢更新中… 先从简单的 Quickstart 开始…本例作为 SpringSecurity 5 的快速入门案例。主要涉及 HttpSecurity 的 csrf,httpBasic,failureHandler 和 successHandler。 关于 SpringSecurity SpringSecurity 是一个为企业级应用提供认证, 授权以及其他安全特性的框架. Reference 引入依赖 作为入门案例, 我们只需引入 SpringSecurity, SpringBoot Web 以及 Lombok 即可. < dependencies > < dependency > < groupId > org.springframework.boot </ groupId > < artifactId > spring-boot-starter-web </ artifactId > </

Spring Boot 整合 Spring Security,用户登录慢

こ雲淡風輕ζ 提交于 2020-05-03 16:06:03
场景 Spring Boot + Spring Security搭建一个Web项目。 临时用了inMemoryAuthentication。 @EnableWebSecurity public class SecurityConfig extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http.csrf().disable() .authorizeRequests() .antMatchers("/static/**", "/login").permitAll() .anyRequest().authenticated() .and() .formLogin() .loginPage("/login") .loginProcessingUrl("/login") .permitAll() .defaultSuccessUrl("/index") .and() .logout() .permitAll() ; } @Autowired public void configureGlobal( AuthenticationManagerBuilder auth) throws Exception { auth

08 SSM整合案例(企业权限管理系统):10.权限关联与控制

烂漫一生 提交于 2020-05-02 10:36:38
04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户操作 10.权限关联与控制 11.AOP日志 10.权限关联与控制 1.用户关联角色操作-流程分析 项目运行的网络环境发生变化后,实际上就是我笔记本电脑 所连接到的路由器发生变更。需要用cmd下的ipconfig命令查看当前主机IP地址,然后去web子模块项目的resources目录下把jdbc.properties配置文件的 jdbc.url=jdbc:oracle:thin:@192.168.0.108:1521:orcl 做修改后重新install一下WEB项目再测试就跑通了。 2.用户关联角色操作 视图层的UsersControler // 查询用户以及可以添加的角色 @RequestMapping("/findUserByIdAndAllRole.do" ) public ModelAndView findUserByIdAndAllRole(@RequestParam(name = "id") String userId) throws Exception{ ModelAndView mv = new ModelAndView(); // 1.根据一个用户ID查询结果 UserInfo userInfo = userService.findById

08 SSM整合案例(企业权限管理系统):05.SSM整合案例的基本介绍

十年热恋 提交于 2020-05-02 07:24:22
04.AdminLTE的基本介绍 05.SSM整合案例的基本介绍 06.产品操作 07.订单操作 08.权限控制 09.用户和角色操作 10.权限关联 11.AOP日志 05.SSM整合案例的基本介绍 06.产品操作 1.1 环境搭建 主要讲解 maven 工程搭建,以及基于 oracle 数据库的商品表信息,并完成 SSM 整合。 1.2 商品查询 基于 SSM 整合基础上完成商品查询,要掌握主面页面 main.jsp 及商品显示页面 product-list.jsp 页面的创建。 1.3 商品添加 进一步巩固 SSM 整合,并完成商品添加功能,要注意事务操作以及 product-add.jsp 页面生成。 商品的删除? 商品的更新? O(∩_∩)O哈哈~,是需要自己独立完成的部分呢。 07.订单操作 1.4 订单查询 订单的查询操作,它主要完成简单的多表查询操作,查询订单时,需要查询出与订单关联的其它表中信息,所以大家一定要了解订单及其它表关联关系。 1.5 订单分页查询 订单分页查询,我们使用的是 mybatis 分页插件 PageHelper ,要掌握 PageHelper 的基本使用。 1.6 订单详情查询 订单详情是用于查询某一个订单的信息,这个知识点主要考核学生对复杂的多表查询操作的掌握。 08.权限控制 1.7 Spring Security 概述 Spring

自定义 Maven 的 repositories

混江龙づ霸主 提交于 2020-05-01 21:21:52
有时,应用中需要一些比较新的依赖,而这些依赖并没有正式发布,还是处于milestone或者是snapshot阶段,并不能从中央仓库或者镜像站上下载到。此时,就需要 自定义Maven的 <repositories> 。 ​ 自定义Maven的 <repositories> 以Spring应用程序程序为例,需要添加一个Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖,可惜这是个snapshot,并不在镜像站中。 解决方法就是在pom.xml添加一个snapshot的地址: <!-- Spring Snapshots仓库 --> <repositories> <repository> <id>spring-snapshots</id> <name>Spring Snapshots</name> <url>https://repo.spring.io/snapshot</url> </repository> </repositories> 这样,就能从这个仓库中,获取到 Spring Security 5.2.0.BUILD-SNAPSHOT版本的依赖了。 检查Maven的settings.xml 但有时,跟着上面的设置方法并不奏效,仍然还是从之前的镜像站中去下载。此时,我们需要去检查下 Maven 安装目录下的settings.xml: <mirror>

255.Spring Boot+Spring Security:使用md5加密

醉酒当歌 提交于 2020-04-30 20:27:13
说明 (1)JDK版本:1.8 (2)Spring Boot 2.0.6 (3)Spring Security 5.0.9 (4)Spring Data JPA 2.0.11.RELEASE (5)hibernate 5.2.17.Final (6)MySQL Driver 5.1.47 (7)MySQL 8.0.12 需求缘起 很多时候,我们自己已经有现成的一套系统在运行了,这时候要接入spring security的话,那么难免会碰到一个问题:就是自己设计的密码加密方式和spring security提供的加密方式不一样,那么怎么办呢?所以这里我们要自定义下的加密方式,这个实现起来也是很简单的,以前很多系统是使用的MD5加密的吧,那么这里使用MD5加密进行讲解下。 一、使用MD5加密 1.1 编写MD5加密工具类 既然要采用MD5加密的话,那么就需要有MD5的加密算法,这个Java本身就提供了算法工具类,只是调用的时候,编码会比较多,这里我们编写成一个工具类,类似的代码在网络上也能找到很多类似的MD5加密算法编写: package com.kfit.config.util; import java.security.MessageDigest; /** * MD5加密工具 */ public class MD5Util { private static final String

Springboot以Tomcat为容器实现http重定向到https的两种方式

耗尽温柔 提交于 2020-04-30 11:29:38
1 简介 本文将介绍在 Springboot 中如何通过代码实现 Http 到 Https 的重定向,本文仅讲解 Tomcat 作为容器的情况,其它容器将在以后一一道来。 建议阅读之前的相关文章: (1) Springboot整合https原来这么简单 (2) HTTPS之密钥知识与密钥工具Keytool和Keystore-Explorer 2 相关概念 2.1 什么叫重定向 所谓重定向,就是本来你想浏览地址A的,但是到达服务端后,服务端认为地址A的界面不在了或者你没权限访问等原因,不想你访问地址A;就告诉你另一个地址B,然后你再去访问地址B。 对于重定向一般有两个返回码: 301:永久性重定向; 302:暂时性重定向。 通过 Chrome 查看网络详情,记录了几个网站的重定向情况: 网站 域名 重定向代码 重定向后的网址 南瓜慢说 www.pkslow.com 301 https://www.pkslow.com Google www.google.com 307 https://www.google.com Apple www.apple.com 307 https://www.apple.com 支付宝 www.alipay.com 301 https://www.alipay.com QQ www.qq.com 302 https://www.qq.com 百度 www

Spring boot --- Spring Oauth(一)

妖精的绣舞 提交于 2020-04-30 02:30:47
文章部分图片来自参考资料,这篇文章主要讲 spring security oauth 概述 上一篇我们学习了 SS 中重要的工作原理和几个大概的认证和授权过程。而 spring security oauth 用到的就是 spring security 知识,我们学习 sso 之前先看一下oauth 是什么,可以学习 阮一峰老师的文章 oauth 的流程图如下 : (牢牢记住这张图) 主要的角色有资源持有者,资源服务器,认证服务器,还有用户 授权(获取 Access Token)的方式有多种方式 授权码 简化模式 客户端模式 密码模式 oauth 可以理解成工作中,你(Client)去出差,回来需要报销,会计(Authorzation Server)首先需要你请示老板(Resource Owned)是否同意给你报销出差费用,假如同意了,你就回来找会计,把老板的凭证给她,她会给你一个token (获取token过程的方式有多种,就是前面提到的), 然后你带着 token 再去财务(Resource Server)领钱 ,结束流程。 Spring Security Oauth 学习 Spring Security Oauth ,先学习一个例子( 出处 ),然后根据例子配合oauth 流程学习 我们按照上面的例子敲完代码后,整个流程走完再结合oauth 授权的流程 例子中使用的授权码

【认证与授权】Spring Security的授权流程

两盒软妹~` 提交于 2020-04-30 00:29:32
上一篇我们简单的分析了一下认证流程,通过程序的启动加载了各类的配置信息。接下来我们一起来看一下授权流程,争取完成和前面简单的web基于sessin的认证方式一致。由于在授权过程中,我们预先会给用于设置角色,关于如果加载配置的角色信息这里就不做介绍了,上一篇的加载过程中我们可以发现相关的信息。 本篇依旧基于spring-security-basic 配置角色信息 配置用户及其角色信息的方式很多,我们这次依旧采取配置文件的方式,不用代码或其他的配置方式,在之前的配置用户信息的地方application.yml,添加用户的角色信息。 spring: security: user: name: admin password: admin roles: ADMIN,USER 这样我们就完成了最简单的用户角色赋予。在加载用户信息时我们知道会生成一个User对象,将其用户名、密码、权限信息封装进去。 这里需要注意一下关于role信息的加载 public UserBuilder roles(String... roles) { List<GrantedAuthority> authorities = new ArrayList<>( roles.length); for (String role : roles) { Assert.isTrue(!role.startsWith("ROLE_"),