posts - 23,comments - 12,trackbacks - 0

          安全域功能是Tomcat內(nèi)置功能,在org.apache.catalina.Realm接口中聲明了把一組用戶名、口令及所關(guān)聯(lián)的角色集成到Tocmat中的方法。

          內(nèi)存域:MemoryRealm 從XML文件中讀取安全驗(yàn)證信息并存入內(nèi)存中。
          JDBC域:JDBCRealm 通過(guò)JDBC驅(qū)動(dòng)程序訪問(wèn)存放在數(shù)據(jù)庫(kù)中的信息。
          數(shù)據(jù)源域:DataSourceRealm 通過(guò)JDBC數(shù)據(jù)源訪問(wèn)存放在數(shù)據(jù)庫(kù)中的信息。
          JNDI域:JNDIRealm 通過(guò)JNDI provider訪問(wèn)存放在基于LDAP的目錄服務(wù)器中的安全驗(yàn)證信息。

          設(shè)置資源安全約束

          在web.xml中加入<security-constraint>元素

          <security-constraint>
           <display-name>MZT</display-name>
           <web-resource-collection>
             <web-resource-name>protected test</web-resource-name>
             <url-pattern>/test/*</url-pattern>
             <http-method>POST</http-method>
             <http-method>GET</http-method>
           </web-resource-collection>
           <auth-constraint>
            <role-name>mztadmin</role-name>
           </auth-constraint>
          </security-constraint>
          <login-config>
           <auth-method>BASIC</auth-method>
           <realm-name>test realm</realm-name>
          </login-config>


          設(shè)置JDBC域

          <Realm className="org.apache.catalina.realm.JDBCRealm" debug="99"
          driverName="org.gjt.mm.mysql.Driver"
          connectionURL="jdbc:mysql://localhost/mzt"
          connectionName="root" connectionPassword=""
          userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name" />


          <Realm className="org.apache.catalina.realm.DataSourceRealm" debug="99"
          dataSourceName="jdbc/tomcatusers"
          userTable="users" userNameCol="user_name" userCredCol="user_pass"
          userRoleTable="user_roles" roleNameCol="role_name"/>


          在MySQL中執(zhí)行以下SQL語(yǔ)句:

          #########

          #用戶表
          create table users(
          user_name varchar(15) not null primary key,
          user_pass varchar(15) not null
          );

          #用戶角色表
          create table user_roles(
          user_name varchar(15) not null,
          role_name varchar(15) not null,
          primary key(user_name, role_name)
          );

          insert into users values('mzt','test');
          insert into user_roles values('mzt','mztadmin');

          posted on 2005-08-17 09:57 my java 閱讀(282) 評(píng)論(0)  編輯  收藏 所屬分類: java身份認(rèn)證轉(zhuǎn)帖
          主站蜘蛛池模板: 凤阳县| 营山县| 宁南县| 手游| 河津市| 汝城县| 阳高县| 湖北省| 北辰区| 于都县| 汉阴县| 喀什市| 滦南县| 松江区| 宁武县| 新晃| 镇宁| 礼泉县| 古蔺县| 汝州市| 长泰县| 新巴尔虎左旗| 乐业县| 嵊州市| 临洮县| 乌苏市| 青神县| 偏关县| 社旗县| 鄂托克前旗| 嘉义县| 威海市| 邯郸县| 舟山市| 罗江县| 金阳县| 广灵县| 万荣县| 浮山县| 阜平县| 固始县|