SpringSecurity环境搭建
新建一个项目。
先导入thymeleaf依赖:
我们需要去直接导入前端页面。
我们在application.properties中加入写上关闭模板引擎的代码配置:
不然每次都得重启
我们去写一个Controller,我们要能访问到每个页面。
我们去运行访问以下首页:
我们每个页面都可以访问。我们之后就是要去做一些安全权限的设置。但是我们之后要去写的代码和现在的代码没有任何关系,我们到此位置只是把SpringSecurity环境搭建出来。其实我们先现在只是创建了一个普通的web项目。
用户认证和授权
我们是以横切的方式去做,我们不用去改动原来的代码,但是能加很多拦截的操作。
我们使用SpringSecurityConfig会固定使用这个框子。
我们现在添加了这些权限,所有人都可以访问主页,不同级别的vip用户可以访问不同级别的页面。
我们去运行一下:
首页我们每个人都可以访问。
但是其它页面我们没有权限,403访问不到,权限不够。
我们只写了很短的这个配置类代码,就完成了这样的一个功能并且没有去改动任何的我们之前写过的代码。
但是这不是一个正常的页面,我们权限不够应该去跳到一个登陆页面:
我们只加了这一句话,再去运行:
还是同样的每个人都可以访问主页。
我们访问其它页面时:
跳到了登陆页;
我们可以加权限认证:
再去运行:
我们进入其他页面:
我们以vision的权限去登录:
报了500错误,这是我们哪里写错了呢?
原因是因为我们的密码没有进行加密。
这个问题在老的版本里是没有存在的,但是现在有了这个问题,我们也得去处理一下。
我们再去运行一下:
点击其他网页:
再以vision权限登录:
登录好后,我们看看vision的访问权限:
我们可以登录level2和level3,我们去试一下:
我们没有登录level1的权限,我们去登录的话:
会给我们报403权限不够。
我们这样用户认证和授权就做完了