日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
Shiro實(shí)現(xiàn)數(shù)據(jù)庫驗(yàn)證的方法詳解(shiro數(shù)據(jù)庫驗(yàn)證)

隨著Web應(yīng)用的不斷發(fā)展,用戶的需求越來越高,安全性逐漸成為一個核心問題。在Java開發(fā)中,Shiro是一個優(yōu)秀的安全框架,能夠?qū)崿F(xiàn)身份驗(yàn)證、授權(quán)、密碼加密等功能。其中,Shiro的數(shù)據(jù)庫驗(yàn)證是非常重要的一部分。本文將詳細(xì)介紹Shiro實(shí)現(xiàn)數(shù)據(jù)庫驗(yàn)證的方法。

1. Shiro簡介

Shiro是一個功能強(qiáng)大的Java安全框架,它提供了身份驗(yàn)證、授權(quán)、密碼加密等一系列安全相關(guān)的功能。Shiro的設(shè)計目標(biāo)是為Java應(yīng)用程序提供安全保障,既可以在Web應(yīng)用程序中使用,也可以在任何應(yīng)用程序中使用。Shiro的更大特點(diǎn)是易于使用、易于理解、易于擴(kuò)展。

2. Shiro數(shù)據(jù)庫驗(yàn)證

在Web應(yīng)用程序中,用戶登錄是一個很常見的操作。Shiro提供了多種身份驗(yàn)證方式,其中數(shù)據(jù)庫驗(yàn)證是一種常見而且重要的驗(yàn)證方式。Shiro的數(shù)據(jù)庫驗(yàn)證主要是通過JDBC進(jìn)行實(shí)現(xiàn)的。在進(jìn)行數(shù)據(jù)庫驗(yàn)證時,需要先配置數(shù)據(jù)源和Realm。

2.1 數(shù)據(jù)源配置

數(shù)據(jù)源是Shiro進(jìn)行數(shù)據(jù)庫驗(yàn)證的關(guān)鍵,因此需要進(jìn)行正確的配置。在配置數(shù)據(jù)源時,可以使用JNDI或者直接使用DriverManager來創(chuàng)建數(shù)據(jù)源。下面是一段使用JNDI方式配置數(shù)據(jù)源的代碼:

“`xml

maxIdle=”100″ maxActive=”500″ maxWt=”10000″

username=”test” password=”test” driverClassName=”com.mysql.jdbc.Driver”

url=”jdbc:mysql://localhost:3306/test”/>

“`

在上面的配置中,標(biāo)簽定義了一個數(shù)據(jù)源,name屬性指定了數(shù)據(jù)源的名稱,type屬性指定了數(shù)據(jù)源的類型,url屬性指定了連接數(shù)據(jù)庫的URL,username屬性指定了連接數(shù)據(jù)庫的用戶名,password屬性指定了連接數(shù)據(jù)庫的密碼。

2.2 Realm配置

在Shiro中,Realm是進(jìn)行用戶身份驗(yàn)證、權(quán)限驗(yàn)證的關(guān)鍵。對于數(shù)據(jù)庫驗(yàn)證來說,需要自定義一個Realm,并配置相應(yīng)的數(shù)據(jù)源。下面是一個基于JDBC的Realm的代碼示例:

“`java

public class JdbcRealm extends JdbcRealm {

public JdbcRealm() {

super.setDataSource(MyJdbcUtils.getDataSource());

super.setAuthenticationQuery(“SELECT password FROM users WHERE username = ?”);

super.setUserRolesQuery(“SELECT role_name FROM user_roles WHERE username = ?”);

super.setPermissionsQuery(“SELECT permission FROM roles_permissions WHERE role_name = ?”);

}

}

“`

在上面的配置中,setDataSource()方法設(shè)置了數(shù)據(jù)源,setAuthenticationQuery()方法設(shè)置了驗(yàn)證用戶信息的SQL語句,setUserRolesQuery()方法設(shè)置了查詢用戶角色信息的SQL語句,setPermissionsQuery()方法設(shè)置了查詢用戶權(quán)限信息的SQL語句。用戶角色和權(quán)限信息可以在數(shù)據(jù)庫中自定義,這里就不再做詳細(xì)介紹。

3. Shiro數(shù)據(jù)庫驗(yàn)證流程

當(dāng)用戶進(jìn)行Web應(yīng)用程序的登錄操作時,Shiro的數(shù)據(jù)庫驗(yàn)證流程如下:

1. 用戶向服務(wù)器發(fā)送登錄請求;

2. 服務(wù)器將請求轉(zhuǎn)發(fā)給Shiro進(jìn)行處理;

3. Shiro判斷請求中的用戶名和密碼是否正確;

4. 如果用戶名和密碼正確,則將該用戶信息保存在Subject對象中;

5. 如果用戶名和密碼不正確,則返回登錄失敗的信息。

4.

相關(guān)問題拓展閱讀:

  • SpringBoot進(jìn)階之整合Shiro實(shí)現(xiàn)緩存和會話管理

SpringBoot進(jìn)階之整合Shiro實(shí)現(xiàn)緩存和會話管理

大家好,一直以來我都本著用最通俗的話理解核心的知識點(diǎn), 我認(rèn)為所有的難點(diǎn)都離不開

「基礎(chǔ)知識」

的鋪墊。目前正在出一個

SpringBoot

長期系列教程,從入門到進(jìn)階, 篇幅會較多~

「大佬可以繞過 ~」

如果你是一路看過來的,很高興你能夠耐心看完。之前帶大家學(xué)了

Springboot

基礎(chǔ)部分,對基本的使用有了初步的認(rèn)識, 接下來的幾期內(nèi)容將會帶大家進(jìn)階使用,會先講解基礎(chǔ)

中間件

的使用和一些場景的應(yīng)用,或許這些技術(shù)你聽說過,沒看過也沒關(guān)系,沖前檔我會帶大家一步一步的入門,耐心看完你一定會有

收獲

~

上期帶大家學(xué)習(xí)了

Shiro

中如何進(jìn)行權(quán)限認(rèn)證,本期將帶大家學(xué)習(xí)

Shiro

中如何進(jìn)行

緩存和會話管理

,最后我們將做一個在線用戶管理以及強(qiáng)制下線用悔乎戶的功能,同樣的,我們集成到

Springboot

中。

首先我們要明白使用緩存的原因,為啥要用它 還記得之前帶大家實(shí)現(xiàn)的

用戶認(rèn)證

權(quán)限認(rèn)證

嗎,那里我使用了

MockUser

,真實(shí)場景中是要去數(shù)據(jù)查詢的,這樣一來就會產(chǎn)生耗時,請求多的時候數(shù)據(jù)庫肯定忙不過來了,所以我們需要使用緩存來提高程序響應(yīng)速度

緩存使用

Redis

,下面就帶大家整一下:

修改

ShiroConfig

,添加方法

這樣就可以了,大家可以把測試獲取用戶的地方改成數(shù)據(jù)庫獲取,看下

控制臺

sql日志會明顯減少,因?yàn)橛幸徊糠质菑木彺婺玫?/p>

這部分功能還是比較好玩的,學(xué)完可以自由發(fā)揮做一個房間功能,可以加入可以踢人,下面我們就開整

修改

ShiroConfig

,添加方法,因?yàn)槲覀兪褂玫氖?/p>

Redis

緩存

實(shí)現(xiàn)

SessionListener

最后同樣的,想要開啟需要我們注入到

Manager

中:

我們先定義一個類,用來記錄在線用戶:

那么怎么獲取呢?我們定義一個方法,大家實(shí)踐中可以抽到

Service

層,這里方便演示,我直接寫到控制器里

如果你看誰不爽,可以直接讓他下線,hhh~

是不是很簡單,這里就不演示了,大家自行試試

本期內(nèi)容就到這里結(jié)束了,總散亂結(jié)一下,本節(jié)主要講了

Shiro

如何進(jìn)行緩存以及如何進(jìn)行用戶會話管理,大家可以舉一反三,做一些小功能嘗試嘗試

下期給大家講講

Shiro

中如何整合

JWT

,這個大家應(yīng)該不陌生,如果不知道啥是

JWT

也沒關(guān)系,我會帶大家一步一步入門,下期也是

Shiro

系列的終極篇,內(nèi)容可能有點(diǎn)多,耐心看完哦。歡迎加群一起學(xué)習(xí)交流 ~

關(guān)于shiro 數(shù)據(jù)庫驗(yàn)證的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。

創(chuàng)新互聯(lián)服務(wù)器托管擁有成都T3+級標(biāo)準(zhǔn)機(jī)房資源,具備完善的安防設(shè)施、三線及BGP網(wǎng)絡(luò)接入帶寬達(dá)10T,機(jī)柜接入千兆交換機(jī),能夠有效保證服務(wù)器托管業(yè)務(wù)安全、可靠、穩(wěn)定、高效運(yùn)行;創(chuàng)新互聯(lián)專注于成都服務(wù)器托管租用十余年,得到成都等地區(qū)行業(yè)客戶的一致認(rèn)可。


新聞名稱:Shiro實(shí)現(xiàn)數(shù)據(jù)庫驗(yàn)證的方法詳解(shiro數(shù)據(jù)庫驗(yàn)證)
網(wǎng)站鏈接:http://m.5511xx.com/article/djidjeh.html