随笔分类 - 权限认证
摘要:简介 在Spring Security中实现方法级的安全性,最常见办法是使用特定的注解,将这些注解应用到需要保护的方法上 这些注解不仅可以直接加 controller 方法上, 也可以注解 Service 或 DAO 类中的方法 | 注解 | 描述 | | : : | : | | @PreAutho
阅读全文
摘要:简介 当前所有认证请求配置和应用权限配置在安全模块中,而很多权限配置是在应用模块提供的对应服务处理逻辑,这样只有应用模块才知道的这些配置,所以要将它们抽取到应用中进行配置 实现步骤 1. 创建 AuthorizeConfigurerProvider 授权配置统一接口。 2. 针对每个功能模块都创建一
阅读全文
摘要:Spring EL 权限表达式 | 表达式 | 描述 | | | | | permitAll() | 总是返回true,表示允许所有访问(认证不认证都可访问 URL或方法) | | denyAll() | 总是返回false,表示拒绝所有访问(永远访问不到指定的 URL或方法) | | isAnon
阅读全文
摘要:在之前的案例中,根据用户名+密码登录和根据手机短信+验证登录中有重复的代码 这里简化封装用户的代码 代码实现 /** * 创建1个抽象类 * 将代码重复部分放到抽象类中 * 代码不同的部分,让其他类继承该抽象类重写 */ public abstract class AbstractUserDetai
阅读全文
摘要:简介 用户表 ( sys_user ):保存用户信息 角色表 ( sys_role ):保存角色信息 权限表 ( sys_permission ):保存系统资源信息。如:菜单、按钮 和对应 URL它们的关系 :用户表与角色表是 多对多关系 ,角色表与资源表是多对多关系。 用户角色关系表(sys_us
阅读全文
摘要:在demo11的基础上完善 解决退出登录后不能再次登录 1、配置session会话超时时长,自定义session失效处理 2、设置1个账号不能同时在2台电脑登录 3、redis实现session高可用集群、指定cookie中保存的sessionid名称 4、在实现以上3步操作后,认证通过,退出登录,
阅读全文
摘要:错误回顾 1、配置session会话超时时长,自定义session失效处理 2、设置1个账号不能同时在2台电脑登录 3、redis实现session高可用集群、指定cookie中保存的sessionid名称 4、在实现以上3步操作后,认证通过,无操作等session超时,这时会提示session超时
阅读全文
摘要:当用户在服务器1认证后,服务器1将session存入reis,这时服务器1突然挂了,用户还可以访问服务器2且不用登录,因为服务器2从redis中获取session 配置方式 # core模块中添加依赖 <dependency> <groupId>org.springframework.boot</g
阅读全文
摘要:案例1:当用户在第2台电脑登录时,第1台电脑抛出错误信息,并下线 在security配置类中添加如下 .and() .sessionManagement()// session管理 // 设置最大session数量为1 .maximumSessions(1) 测试1:用edge浏览器模拟第1台电脑,
阅读全文
摘要:在demo05的基础上开发 认证时勾选记住我,认证成功后,会在应用程序中生成remember-me和JSESSIONID 数据库中会生成1条记录 为了演示session的作用,所以在之后的测试中不勾选记住我 在web模块的yml中设置session会话超时时长 server: servlet: se
阅读全文
摘要:代码案例 @RestController @RequestMapping("/user") public class WebController { @RequestMapping({"/test1"}) public String index() { Object principal = Secu
阅读全文
摘要:起步 简介 手机号登录是不需要密码的,通过短信验证码实现免密登录功能 1. 向手机发送手机验证码,使用第三方短信平台 SDK 发送,如: 阿里云短信服务(阿里大于) 2. 登录表单输入短信验证码 3. 使用自定义过滤器 MobileValidateFilter 4. 当验证码校验通过后,进入自定义手
阅读全文
摘要:案例一:github/03/security/demo04 在demo03的基础上继续开发 # core模块将ValidateCodeException提取到exception文件夹 # core模块导入依赖 <dependency> <groupId>org.springframework.boo
阅读全文
摘要:修改CustomAuthenticationFailureHandler类和CustomAuthenticationSuccessHandler # 将实现接口AuthenticationSuccessHandler修改为SavedRequestAwareAuthenticationSuccessH
阅读全文
摘要:在demo01的基础上继续开发 web模块编写CustomUserDetailsService @Component("customUserDetailsService") public class CustomUserDetailsService implements UserDetailsSer
阅读全文
摘要:父工程依赖 <!-- 依赖版本号 --> <properties> <mybatis-plus.version>3.2.0</mybatis-plus.version> <druid.version>1.1.12</druid.version> <oauth2-autoconfigure.versi
阅读全文
摘要:创建eureka子模块 pom <dependencies> <dependency> <groupId>com.mengxuegu</groupId> <artifactId>mengxuegu-cloud-oauth2-base</artifactId> <version>${mengxuegu
阅读全文
摘要:简介 单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录, 也就是用户的一次登录能得到其他所有系统的信任。单点登录在大型网站里使用得非常频繁 导入表 查看表oauth_client_details的数据 加密后的密码 拥有的
阅读全文