一:什麼是jdbc安全域?html
個人理解是:驗證信息(角色、用戶名和密碼)經過jdbc橋樑到數據庫中去匹配,若是驗證信息正確,則讓用戶訪問到受保護的頁面、信息等!sql
二:實現步驟以下:---注:本文是將tomcat管理員的角色信息存儲到數據庫中,進行驗證!數據庫
1:數據庫採用sqlserver2005apache
2:建立數據庫名爲: zltomcat瀏覽器
3:建立二張數據庫表名稱分別爲:tomcat_user(用戶表)、tomat_user_role(角色表)tomcat
4:tomcat_user表結構以下:安全
create table tomcat_user ( userName varchar(15) not null primary key,
pass varchar(15) not null
);
|
5:tomat_user_role表結構以下:
create table tomat_user_role (
userName varchar(15) not null,
roleName varchar(15) not null,
primary key (userName, roleName)
);
|
6:以上字段註釋以下:
username:用戶名
7:打開~tomcat/conf/ server.xml文件
8:在配置文件Engine節點下添加以下配置文件:
<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=zltomcat" connectionName="sa" connectionPassword="zl" userTable="tomcat_user" userNameCol="userName" userCredCol="pass" userRoleTable="tomat_user_role" roleNameCol="roleName" /> |
9:以上配置文件重要參數註釋以下:
driverName:驅動名,不一樣的數據庫不一樣
databaseName:數據庫名
connectionName:數據庫登錄名
connectionPassword:數據庫登錄密碼
userTable:用戶表名
userNameCol:用戶名字段
userCredCol:用戶密碼字段
userRoleTable:角色表表名
roleNameCol:角色字段(role)
10:將sqlserver2005的jdbc驅動包拷貝到tomcat的lib目錄下。
11:測試,啓動tomcat,在瀏覽器地址欄輸入:http://localhost:8080/,點擊:Tomcat Manager 輸入數據庫中設置的用戶名和密碼。登錄成功,進入到tomcat的管理員界面。
1:內存域(MemoryRealm),徹底經過xml配置文件完成, 對應資源訪問權限有三種方式:BASIC、DIGEST、FORM。
2: 數據源域(DataSourceRealm),經過JNDI數據源訪問存在數據庫中的安全驗證信息。
3: JNDI域(JNDIRealm),經過JNDIproveider訪 問存放在基於LDAP的目錄服務器中的安全驗證信息。
4:以上更多的信息請參考: http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html官方網站。