SpringCloud-Secruity入门开发(用户以及权限硬编码篇)

 

  • 1.eclipse安装sts

使用springtools插件来创建springboot项目.eclipse安装sts插件方法也很简单.

菜单栏找到help->eclipse Marketplace wiazrd

安装过程会很慢,有时候甚至会太慢导致失败,如果tool4安装不成功,那就安装上面的tool3的也可以.(这里能搜出来的插件版本应该都是跟eclipse的版本是能对上的)

  • 2.创建springboot项目

file->new->other->找到spring boot->spring starter project 填入项目信息

点击next 进入依赖选择页面以及springboot的版本,选择spring cloud secruity与spring web即可

然后点击finish完成项目的创建.待项目构建完成后如下.它已将启动类创建到创建项目的第一步填入的包下. 

 直接右键生成的启动类 run 在浏览器输入localhost:8080(springboot默认的端口是8080)打开,账号输入user(secruity默认生成的账号),密码是secruity随机生成在控制台的.可以看到控制台输出了一串密码 我们复制这个密码,填入.

点击登录,只要没有提示账号或密码错误即表示验证成功.

  •  3.创建测试用的接口

在第二步创建项目的时候我们填了一个package内容为com.nlx,然后生成的启动类就在这个包下面,我们之后创建的不管是pojo,service,还是别的什么类或者包,都要在这个包的下面,不然@controller,@service这样的注解是扫描不到的.

创建测试用的controller 这里写了四个方法模拟CURD

然后重启项目,浏览器访问其中的一个接口,会自动跳转到登录页进行验证,通过验证后可以随意访问任何一个接口.

secruity还提供了一个退出登录的接口/logout(如果项目设置了server.servlet.context-path那就要加上项目路径,比如我设置server.servlet.context-path=test,那么退出的访问地址就是localhost:8080/test/logout) 退出后需要重新登录才能访问项目里面的接口.

  • 4.配置用户(硬编码)

在实际的应用中,1.用户是有很多的,2.也不是所有的接口都需要验证.3.很多情况下是不同的用户拥有不同的权限.

配置用户:

4.1.在com.nlx包下面新建config包,并新建配置类MyWebSecruityConfig(自己取得名字)继承WebSecurityConfigurerAdapter,并在类上面加上配置类的注解@Configuration,
4.2.重写WebSecurityConfigurerAdapter里面的userDetailsService()方法以及编码的方法passwordEncoder();
4.3.将方法上面的注解换成@Bean,否则配置不会生效.

重启项目(此时不会生成默认的密码).访问测试用的api (http://localhost:8080/insert),自动跳转到登录页登录 ,使用我们配置的用户zhansan 密码123登录成功,就会跳转http://localhost:8080/insert执行.

  • 5.配置权限(硬编码)

在配置类MyWebSecruityConfig里面 配置权限
重写configure(HttpSecurity http)方法

重启项目,

由于/query以及/update是没有设置权限的,所以只要登录就都可以访问,
/insert需要p1权限,在创建用户的时候我们给zhansan分配的就是p1,lisi权限p2

我们登录zhansan账号,访问/delete结果如下


访问其他三个接口都是ok的.

 

到此关于springcloud secruity的简单使用到此结束,希望对想入门的同学有所帮助.
下期介绍用户及权限都从数据库配置的版本.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值