
权限、鉴权
文章平均质量分 95
框架的权限控制、登录鉴权等
Sunny3096
社会闲散人员
展开
-
Spring-Security-Oauth2数据表说明
表名 字段名 字段说明 oauth_client_details client_id 主键,必须唯一,不能为空. 用于唯一标识每一个客户端(client); 在注册时必须填写(也可由服务端自动生成). 对于不同的grant_type,该字段都是必须的. 在实际应用中的另一个名称叫appKey,与client_id是同一个概念. resource_ids 客户端所能访问的资源id集合,多个资源时用逗号(,)分隔,如: "unity-resource,mob..原创 2020-05-20 17:06:20 · 2220 阅读 · 0 评论 -
【权限----设计】RBAC权限设计
一、是鉴权管理, 即权限判断逻辑。 1. 最基本的权限管理就是菜单管理,用户没有权限的功能模块在菜单节点上是不显示的。(很多人以为这就是权限管理!) 示例: 普通业务人员登录系统后,是看不到【用户管理】菜单的。 2. 功能权限管理,B/S系统的功能体现为URL,所以功能权限管理主要是针对URL访问的管理。(很多人都不清楚权限管理的对象是什么?) 示例: 经过授权,部门经理可以查看【用户管理】菜单,并查看部门用户信息,但权限设计要求,该部门经理没有添加用户的权限。 所以在访问【添加用户】的.原创 2020-05-15 17:39:54 · 351 阅读 · 0 评论 -
【授权----OAuth 2.0】二、OAuth2的四种方式
RFC 6749 OAuth 2.0 的标准是RFC 6749文件。该文件先解释了 OAuth 是什么。 OAuth 引入了一个授权层,用来分离两种不同的角色:客户端和资源所有者。......资源所有者同意以后,资源服务器可以向客户端颁发令牌。客户端通过令牌,去请求数据。 这段话的意思就是,OAuth 的核心就是向第三方应用颁发令牌。然后,RFC 6749 接着写道: (由于互联网有多种场景,)本标准定义了获得令牌的四种授权方式(authorization grant )。 也就是说,..转载 2020-05-15 15:58:01 · 435 阅读 · 0 评论 -
【授权----OAuth 2.0】三、GitHub OAuth 第三方登录示例教程
很多网站登录时,允许使用第三方网站的身份,这称为"第三方登录"。 下面就以 GitHub 为例,写一个最简单的应用,演示第三方登录。 一、第三方登录的原理 所谓第三方登录,实质就是 OAuth 授权。用户想要登录 A 网站,A 网站让用户提供第三方网站的数据,证明自己的身份。获取第三方网站的身份数据,就需要 OAuth 授权。 举例来说,A 网站允许 GitHub 登录,背后就是下面的流程。 A 网站让用户跳转到 GitHub。 GitHub 要求用户登录,然后询问"A 网站要求获得 xx转载 2020-05-15 16:01:15 · 593 阅读 · 0 评论 -
【授权----OAuth 2.0】一、什么是OAuth
OAuth 2.0是目前最流行的授权机制,用来授权第三方应用,获取用户数据。 这个标准比较抽象,使用了很多术语,初学者不容易理解。其实说起来并不复杂,下面我就通过一个简单的类比,帮助大家轻松理解,OAuth 2.0 到底是什么。 一、快递员问题 我住在一个大型的居民小区。 小区有门禁系统。 进入的时候需要输入密码。 我经常网购和外卖,每天都有快递员来送货。我必须找到一个办法,让快递员通过门禁系统,进入小区。 如果我把自己的密码,告诉快递员,他就拥有了与我同样的...转载 2020-05-15 15:55:09 · 322 阅读 · 0 评论 -
【权限----对比】深入理解Spring Cloud Security、OAuth2、JWT
什么是OAuth2? OAuth2是一个关于授权的开放标准,核心思路是通过各类认证手段(具体什么手段OAuth2不关心)认证用户身份,并颁发token(令牌),使得第三方应用可以使用该令牌在限定时间、限定范围访问指定资源。主要涉及的RFC规范有【RFC6749(整体授权框架)】、【RFC6750(令牌使用)】、【RFC6819(威胁模型)】这几个,一般我们需要了解的就是RFC6749。获取令牌的方式主要有四种,分别是授权码模式、简单模式、密码模式、客户端模式,如何获取token不在讨论范围,我们这里假定客转载 2020-05-15 15:41:12 · 4692 阅读 · 6 评论 -
【权限----SpringSecurity】七、RememberMe配置
一、概述 RememberMe 是指用户在网站上能够在 Session 之间记住登录用户的身份的凭证,通俗的来说就是用户登陆成功认证一次之后在制定的一定时间内可以不用再输入用户名和密码进行自动登录。这个过程中通过服务端发送一个 cookie 给客户端浏览器保存,下次浏览器再访问服务端时服务端能够自动检测客户端的 cookie,根据 cookie 值触发自动登录操作。 Spring Sec...原创 2019-06-26 11:43:05 · 722 阅读 · 0 评论 -
【权限----SpringSecurity】六、自定义认证处理的过滤器
【Spring Security】六、自定义认证处理的过滤器 这里接着上一章的自定义过滤器,这里主要的是配置自定义认证处理的过滤器,并加入到FilterChain的过程。在我们自己不在xml做特殊的配置情况下,security默认的做认证处理的过滤器为UsernamePasswordAuthenticationFilter,通过查看源码知道,做认证处理的方法为attemptAuthenticat...原创 2018-07-04 18:29:00 · 1728 阅读 · 0 评论 -
【权限----SpringSecurity】五、自定义过滤器
在之前的几篇security教程中,资源和所对应的权限都是在xml中进行配置的,也就在http标签中配置intercept-url,试想要是配置的对象不多,那还好,但是平常实际开发中都往往是非常多的资源和权限对应,而且写在配置文件里面写改起来还得该源码配置文件,这显然是不好的。因此接下来,将用数据库管理资源和权限的对应关系。数据库还是接着之前的,用mysql数据库,因此也不用另外引入额外的jar包...原创 2019-06-26 11:43:00 · 741 阅读 · 0 评论 -
【权限----SpringSecurity】四、自定义页面
在前面例子中,登陆页面都是用的Spring Security自己提供的,这明显不符合实际开发场景,同时也没有退出和注销按钮,因此在每次测试的时候都要通过关闭浏览器来注销达到清除session的效果。 一 、自定义页面 login.jsp: <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncod...原创 2019-06-26 11:42:54 · 270 阅读 · 0 评论 -
【权限----SpringSecurity】三、自定义数据库实现对用户信息和权限信息的管理
一 自定义表结构 这里还是用的mysql数据库,所以pom.xml文件都不用修改。这里只要新建三张表即可,user表、role表、user_role表。其中user用户表,role角色表为保存用户权限数据的主表,user_role为关联表。user用户表,role角色表之间为多对多关系,就是说一个用户可以有多个角色。ER图如下所示: 建表语句: -- 角色 create table r...原创 2019-06-27 08:09:21 · 553 阅读 · 0 评论 -
【权限----SpringSecurity】二、数据库管理用户权限
一 引入相关的jar包 这个例子用的是mysql数据库和c3p0开源的jdbc连接池,在项目的pom.xml中引入jar包 <!-- Mysql --> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connec...原创 2019-06-26 14:16:00 · 246 阅读 · 0 评论 -
【权限----SpringSecurity】一、快速入手
一 概要 Spring Security,这是一种基于 Spring AOP 和 Servlet 过滤器的安全框架。它提供全面的安全性解决方案,同时在 Web 请求级和方法调用级处理身份确认和授权。这里过多的spring security解释和作用就不在这里赘述了,请自行搜索。目前最新版本的Spring Security为4.2.2,但是我这里用了稳定版本3.1.3。下面例子为一个简单的Spri...原创 2019-06-26 14:13:27 · 235 阅读 · 0 评论