SpringSecurity框架

web权限方法自动登录

1.构建表

create table `persistent_logins`(
`username` VARCHAR(64) not null,
`series` VARCHAR(64) not null,
`token` VARCHAR(64) not null,
`last_used` timestamp not null default current_timestamp on update current_timestamp,
PRIMARY key(`series`)
)ENGINE=INNODB DEFAULT CHARSET=utf8;

2.配置类,注入数据源,配置操作数据库对象

//注入数据源
@Autowired
private DataSource dataSource;

//配置对象
@Bean
public PersistentTokenRepository persistentTokenRepository(){
    JdbcTokenRepositoryImpl jdbcTokenRepository = new JdbcTokenRepositoryImpl();
    // 设置数据源
    jdbcTokenRepository.setDataSource(dataSource);
    //jdbcTokenRepository.setCreateTableOnStartup(true);  启动时将表创建
    return jdbcTokenRepository;
}

3.配置类配置自动登录

.and().rememberMe().tokenRepository(persistentTokenRepository())
.tokenValiditySeconds(60)  //设置有效时长,单位秒
.userDetailsService(userDetailsService)

4.复选框添加

<input type="checkbox" name="remember-me"/>自动登录

Token存入浏览器中,并存入数据库,下次登录直接进行比对

 

 CSRF理解

跨站请求伪造:同一浏览器的不同网站,一个网站认证登陆后,另一个网站会伪造一些信息,这是不安全的。

//关闭csrf保护功能(默认开启)
http.csrf().disable();

 SpringSecurity微服务权限方案

微服务

微服务架构风格是一种使用一套小服务来开发单个应用的方式途径,每个服务运行在自己的进程中。(独立部署、独立运行、独立升级

 微服务认证和授权实现过程

1.单点登录(SSO)

单一模块登录后,其他模块不用再次进行登录。

2.授权

不用角色拥有不同模块的访问权限

基于SpringSecurity认证授权案例

微服务权限管理案例设计表:

1.菜单表

2.角色表

3.用户表

菜单表
1作品管理
2作者管理
角色表
1管理员
2普通用户
用户表
1北城南迁
2南鹿先生

角色菜单关系表
uidrid
11
用户角色关系表
cidrid
11

4.角色菜单关系表

5.用户角色关系表

微服务权限管理案例主要功能:

1.登录(认证)

2.添加角色

3.为角色分配菜单

4.添加用户

5.为用户添加角色(权限)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值