spring?security需求分析與基礎(chǔ)環(huán)境準(zhǔn)備教程
前言
Spring Security企業(yè)安全認(rèn)證系列文章,本專欄內(nèi)容目前已經(jīng)比較系統(tǒng)了,核心內(nèi)容也相對完整,本系列文章會根據(jù)Spring Security社區(qū)的發(fā)展逐步的更新內(nèi)容。請大家多多關(guān)注腳本之家~
前文傳送門:
SpringSecurity框架簡介及與shiro特點(diǎn)對比
一、需求分析

- login.html登錄頁面,登錄頁面訪問不受限制
- 在登錄頁面登錄之后,進(jìn)入index.html首頁(登錄驗(yàn)證Authentication)
- 首頁可以看到syslog、sysuer、biz1、biz2四個頁面選項(xiàng)
- 我們希望syslog(日志管理)和sysuser(用戶管理)只有admin管理員可以訪問(權(quán)限管理Authorization)
- biz1、biz2普通的操作普通用戶登錄即可訪問(權(quán)限管理Authorization)
其中 login.html是html文件,其他文件是以.html為后綴的freemarker模板文件
我們先將以上頁面準(zhǔn)備好,先不做任何訪問權(quán)限上的限制!以上需求我們將在后面章節(jié)實(shí)現(xiàn)
二、環(huán)境準(zhǔn)備
- 起一個新的spring boot2.x 版本的web應(yīng)用
- 集成lombok、mybatis、log4j等
- 集成一個前端模板,我這里使用的是freemarker。你可以根據(jù)自己需要整合jsp、thymeleaf等都可以。
為了讓課程盡量的干一點(diǎn),因?yàn)檫@套課程主要是講security及web應(yīng)用安全,所以不會花時間在spring boot整合開源軟件,及增刪改查怎么寫!如果不知道怎么做。可以參考:http://www.dbjr.com.cn/article/219845.htm 網(wǎng)上也有很多的資料。
如果你實(shí)在不愿意自己集成,下面的是我整合之后的結(jié)果,可以直接使用。該項(xiàng)目只用于項(xiàng)目初始化,不包含后面課程的源代碼。https://gitee.com/hanxt/boot-security-starter

注意login.html頁面的存放位置和其他文件的存放位置不一樣。public文件夾里面的html文件可以對外公開訪問
login.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>首頁</title>
</head>
<body>
<h1>字母哥業(yè)務(wù)系統(tǒng)登錄</h1>
<form action="/login" method="post">
<span>用戶名稱</span><input type="text" name="username" />
<span>用戶密碼</span><input type="password" name="password" />
<input type="submit" value="登陸">
</form>
</body>
</html>
index.html
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title>字母哥業(yè)務(wù)管理系統(tǒng)</title>
</head>
<body>
<h1>字母哥業(yè)務(wù)管理系統(tǒng)</h1>
<a href="/syslog" rel="external nofollow" >日志管理</a>
<a href="/sysuser" rel="external nofollow" >用戶管理</a>
<a href="/biz1" rel="external nofollow" >具體業(yè)務(wù)一</a>
<a href="/biz2" rel="external nofollow" >具體業(yè)務(wù)二</a>
</body>
</html>
BizpageController .java
@Controller
public class BizpageController {
// 登錄
@PostMapping("/login")
public String index(String username,String password) {
return "index"; //index.html
}
// 日志管理
@GetMapping("/syslog")
public String showOrder() {
return "syslog"; //syslog.html
}
// 用戶管理
@GetMapping("/sysuser")
public String addOrder() {
return "sysuser"; //sysuser.html
}
// 具體業(yè)務(wù)一
@GetMapping("/biz1")
public String updateOrder() {
return "biz1"; //biz1.html
}
// 具體業(yè)務(wù)二
@GetMapping("/biz2")
public String deleteOrder() {
return "biz2"; //biz2.html
}
}
syslog.html、sysuser.html、biz1.html、biz2.html內(nèi)容隨便寫點(diǎn),能夠方便做內(nèi)容上的彼此區(qū)分即可。
以上就是spring security需求分析與基礎(chǔ)環(huán)境準(zhǔn)備教程的詳細(xì)內(nèi)容,更多關(guān)于spring security需求分析環(huán)境準(zhǔn)備的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
利用Java如何獲取Mybatis動態(tài)生成的sql接口實(shí)現(xiàn)
MyBatis 的強(qiáng)大特性之一便是它的動態(tài)SQL,下面這篇文章主要給大家介紹了關(guān)于利用Java如何獲取Mybatis動態(tài)生成的sql接口實(shí)現(xiàn)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-01-01
SpringBoot項(xiàng)目使用mybatis-plus逆向自動生成全套代碼
在JavaWeb工程中,每一個SSM新項(xiàng)目或者說是SpringBoot項(xiàng)目也好,都少不了model、controller、service、dao等層次的構(gòu)建。使用mybatis-plus逆向可以自動生成,感興趣的可以了解一下2021-09-09
springboot?使用clickhouse實(shí)時大數(shù)據(jù)分析引擎(使用方式)
這篇文章主要介紹了springboot?使用clickhouse實(shí)時大數(shù)據(jù)分析引擎的方法,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧2022-02-02
mybatis攔截器實(shí)現(xiàn)數(shù)據(jù)庫數(shù)據(jù)權(quán)限隔離方式
通過Mybatis攔截器,在執(zhí)行SQL前添加條件實(shí)現(xiàn)數(shù)據(jù)權(quán)限隔離,特別是對于存在用戶ID區(qū)分的表,攔截器會自動添加如user_id=#{userId}的條件,確保SQL在執(zhí)行時只能操作指定用戶的數(shù)據(jù),此方法主要應(yīng)用于Mybatis的四個階段2024-11-11
Spring Cache擴(kuò)展功能實(shí)現(xiàn)過程解析
這篇文章主要介紹了Spring Cache擴(kuò)展功能實(shí)現(xiàn)解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02
【面試】Spring事務(wù)面試考點(diǎn)吐血整理(建議珍藏)
本文是小編給大家收藏整理的Spring事務(wù)面試考點(diǎn),非常不錯,值得收藏,感興趣的朋友參考下吧2019-04-04
解決Elasticsearch因jdk版本問題啟動失敗的問題
這篇文章主要介紹了解決Elasticsearch因jdk版本問題啟動失敗的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-07-07

