认证和授权 默认的数据库认证和鉴权   前文尝试了 SC 默认的 user 用户 和随机密码。因为不灵活,而放弃。 又尝试了自定义配置用户名和密码,但是这样只能又一个单用户,同样不灵活。   通常情况下认为一个登录系统,是存储在数据库中。前台用户使用表单提交登录信息和数据库进行比对。   在前文项目基础上创建 controller 包,并创建 AdminController、AppController、UserController @RestController @RequestMap…

2021年4月13日 0条评论 2点热度 阅读全文

最近接到一个新的需求,就是将原本的项目集成到公司的统一认证平台,实现单点登录。相比于单系统登录,SSO需要一个独立的认证中心,只有认证中心能接受用户的用户名密码等安全信息,其他系统不提供登录入口,只接受认证中心的间接授权。间接授权通过令牌实现,SSO认证中心验证用户的用户名密码没问题,创建授权令牌,在接下来的跳转过程中,授权令牌作为参数发送给各个子系统,子系统拿到令牌,即得到了授权,可以借此创建局部会话,局部会话登录方式与单系统的登录方式相同。这个过程,也就是单点登录的原理。 上面我大致介绍了一下单点登录原理,但是…

2021年3月5日 0条评论 14点热度 阅读全文

教程由来:项目需要为第三方客户端提供授权和资源访问,无疑OAuth2现在是最好的方式,如果OAuth2相关知识大家还不够了解,请移步到阮一峰的理解OAuth2.0,本文实战为主,理论方面请自行查阅相关资料。 1. OAuth2的四种模式 授权码模式(authorization code)(最正统的方式,也是目前绝大多数系统所采用的)(支持refresh token) (用在服务端应用之间) 密码模式(resource owner password credentials)(为遗留系统设计) (支持refresh t…

2021年1月24日 0条评论 20点热度 阅读全文

文章目录 1. 前言 2. 常用的 Http 认证方式 2.1 HTTP Basic Authentication 2.2 HTTP Digest Authentication 2.3 SSL 客户端认证 2.4 Form 表单认证 2.5 Json Web Token 的认证方式 Bearer Authentication 3. Spring Security 中实现接口 Jwt 认证 3.1 定义 Json Web Token 过滤器 3.2 配置 JwtAuthenticationFilter 4. 使用 J…

2021年1月24日 0条评论 17点热度 阅读全文

使用Spring Security 限制URL访问 通常保护url方式有以下几种: 允许每个人访问的url 基于角色保护url 基于多个角色保护url 基于IP地址保护url 本文介绍如何通过spring security 实现这些功能。 指定URL 指定url最常用的方法是通过antMatcher,如果我们想保护下列url: url 访问限制 http://www.example.com/static 给所有人开放,如css, javascript http://www.example.com/register …

2021年1月24日 0条评论 39点热度 阅读全文

在上一篇博客spring security起步二:自定义登录页中我们实现了如何自定义登录页,但是还存在很多问题: 1.spring security如何对登录请求进行拦截 2.登录成功后如何跳转 3.登录失败后如何跳转 form-login属性详解 form-login是spring security命名空间配置登录相关信息的标签,它包含如下属性: 1. login-page 自定义登录页url,默认为/login 2. login-processing-url 登录请求拦截的url,也就是form表单提交时指定的…

2021年1月24日 0条评论 24点热度 阅读全文

使用Spring Security来管理web项目的用户权限,是很多Java管理系统经常使用的方法。 然而,当前很多网站都支持使用手机号+密码登录网站。毕竟,用户名这个东西肯定没有自己的手机号好记。 Spring Security权限管理 Spring Security主要分为认证(Authentication),授权(Authorization)两大模块: 简而言之,鉴权就是鉴定用户“是谁”,而授权则是鉴定用户“是否可以”做这件事情或访问某个URL。当然授权的前提是明确知道当前的用户“是谁”,所以一般情况下鉴权发…

2021年1月23日 0条评论 30点热度 阅读全文

springsecurity的单点登录实现起来很容易,但是对csrf的过滤器拦截卡壳了三天,现在对这个测试Demo内容整理,希望帮助到遇到同样问题的同学们! 现在开始讲解: 一共三个项目,认证服务器A、第三方平台B、第三方平台C。下面分别进行说明 一、认证服务器A 先用maven构建好一个基本项目,然后进行开发; 目录结构如下 pom引用主要加入以下四个依赖 <dependency> <groupId>org.springframework.boot</groupId> <…

2021年1月23日 0条评论 19点热度 阅读全文

  接上一篇文章。spring security 最简单的demo 1.我们首先自定义资源接口访问权限 我们可以继承WebSecurityConfigurerAdapter类来进行控制,如下,我们定义/和/static/的资源不需要认证,其他除了登陆和登出都是需要验证的。并且我们设置了登陆时需要跳转到/login @Configuration @EnableWebSecurity // 注解开启Spring Security的功能 @EnableGlobalMethodSecurity(prePostEn…

2021年1月23日 0条评论 34点热度 阅读全文

1.前言 本文讲述使用javaconfig的方式整合SpringMVC+Mybatis+SpringSecurity实现基于数据库的权限系统,包括对按钮的权限控制。 使用技术: springMVC、springsecurity4、mybatis、ehcache、前端使用dataTables表格、ztree。 2.表结构介绍 标准的五张表结构。其中t_resources包含了后台系统的菜单 五张表分别为用户表,角色表,资源表,用户角色表,角色资源表。 给用户分配角色,给角色配置权限。形成动态的权限控制。一个用户可以拥…

2021年1月23日 0条评论 23点热度 阅读全文