- 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的简单使用到此结束,希望对想入门的同学有所帮助.
下期介绍用户及权限都从数据库配置的版本.