Shiro連線資料庫驗證

2021-07-24 05:21:20 字數 1841 閱讀 1859

1、要使用的資料表

drop

database

ifexists shirodb ;

create

database shirodb character

set utf8 ;

use shirodb ;

create

table member (

mid varchar(50),

password varchar(32),

name varchar(20),

locked int,

constraint pk_mid primary

key (mid)

) type = innodb;

insert

into member(mid,password,name,locked) values ('admin','hello','管理員',0) ;

insert

into member(mid,password,name,locked) values ('mermaid','hello','使用者',0) ;

2、通過shiro.ini 的檔案連線資料庫

[main]

# 定義本次mysql連線要使用的資料來源處理類

datasource=com

.mysql

.jdbc

.jdbc2.optional

.mysqldatasource

# 定義資料庫的連線主機名稱

datasource.servername=127.0

.0.1

# 定義要使用的資料庫的名字

datasource.databasename=******

# 定義資料庫的連線賬戶

datasource.user=******

# 定義資料庫的連線的密碼

datasource.password=******

# 定義本次要基於jdbc實現的realm的認證的配置類 jdbcrealm=org.apache.shiro.realm.jdbc.jdbcrealm

# 配置本次的jdbc連線所使用的資料來源,$表示引用配置 jdbcrealm.datasource=$datasource

# 定義所需要的查詢語句

jdbcrealm.authenticationquery=select password from member where mid=?

# 配置安全管理器所使用的realm

securitymanager.realms=$jdbcrealm

3、自定義realm

public

class

myrealm

implements

realm

if (!"hello".equals(password))

return

new ******authenticationinfo(username,password,this.getname()) ;

}@override

public string getname()

@override

public

boolean

supports(authenticationtoken token)

}

定義測試類

public

class testlogindemo

}

連線資料庫

2 documents 目錄就是我們可以用來寫入並儲存檔案得地方,一般可通過 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserdomainmask,yes nsstring documentsdi...

連線資料庫

1 oracle8 8i 9i資料庫 thin模式 class.forname oracle.jdbc.driver.oracledriver newinstance string url jdbc oracle thin localhost 1521 orcl orcl為資料庫的sid strin...

連線資料庫

public void connection 以上是連線資料庫的乙個方法,以及從資料庫中取到資料後存放在table中.executenonquery 執行sql後,返回乙個整形變數,如果sql是對資料庫記錄進行操作,那麼返回影響的記錄條數。executescalar 執行sql 如果sql語句是se...