本文只讲操作实践,不讲原理,这样对于想快速搭建起一个基于SpringSecurity的Web项目的朋友们而言,比较友好。文章主要由两部分构成:
-
快速演示样例
所有账户和授权数据均基于内存,能在极短的时间内搭建和运行起来,可以快速体验SpringSecurity -
简易生产样例
建议想参考原型,在自己工程中引入Spring Security的读者,直接跳到这一章节阅读。
这个样例工程将账户和权限数据存储于数据库中,同时授权清单也不再是硬编码在代码里的了,这样更接近于实际项目中的做法。
一、快速演示样例
本样例所有账户和授权数据均位于内存中,有两个受保护的资源页面,分别是书籍列表和系统信息。前者仅要求登录即可访问,后者则要求登录者具有Admin角色才可以访问,详细资源清单及权限要求如下:
uri | 匿名用户 | user用户 | admin用户 | 资源说明 |
---|---|---|---|---|
/ 或 /index | ✔️ | ✔️ | ✔️ | 首页 |
/login | ✔️ | ✔️ | ✔️ | 登录页面 |
/logout | ✔️ | ✔️ | ✔️ | 退出页面 |
/books | ❌ | ✔️ | ✔️ | 书籍列表页面 |
/system | ❌ | ❌ | ✔️ | 系统信息页面 |
1.1 效果演示
演示操作流程为:
- 进入首页http://locahost:8080或http://locahost:8080/index
- 点击[Book List]链接,由于没有登录,会进入登录页面
- 在登录页面输入用户名
user
和密码codefate
,点击Login,此后便进入了BookList页面。 - 在Book List页面点击[Back Home]重新进入首页
- 在首页点击[System Info]链接,虽然当前已登录,但角色为USER,不是ADMIN,因此无没有权限,会进入一个403页面。该页面由spring web框架生成,可以自定义。
- 回退到首页,点击[SignOut]退出登录,重新进入登录界面,(也可以点击[SignIn]在不退出的情况下,直接进入登录页面)
- 在登录页面输入用户名
admin
和密码codefate
后,回到首页 - 在首页点击[System Info]链接,可成功进入
- 回到首页,点击[Book List]链接,可成功进入,可见ADMIN角色的用户同样可以访问,反之则不行。
标签:web,boot,样例,用户,spring,security,public,页面 From: https://www.cnblogs.com/sandgull/p/col_java_spring-security_springboot-web-demo-quick-expe