posts - 23,comments - 12,trackbacks - 0

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

          內存域:MemoryRealm 從XML文件中讀取安全驗證信息并存入內存中。
          JDBC域:JDBCRealm 通過JDBC驅動程序訪問存放在數據庫中的信息。
          數據源域:DataSourceRealm 通過JDBC數據源訪問存放在數據庫中的信息。
          JNDI域:JNDIRealm 通過JNDI provider訪問存放在基于LDAP的目錄服務器中的安全驗證信息。

          設置資源安全約束

          在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>


          設置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中執行以下SQL語句:

          #########

          #用戶表
          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 閱讀(277) 評論(0)  編輯  收藏 所屬分類: java身份認證轉帖
          主站蜘蛛池模板: 和顺县| 汾阳市| 乾安县| 神农架林区| 五指山市| 嘉定区| 海阳市| 吴忠市| 德昌县| 灵武市| 江口县| 阳西县| 海阳市| 邵阳市| 绥棱县| 台北市| 宣威市| 滨州市| 林周县| 光泽县| 宁强县| 普安县| 历史| 祁门县| 施秉县| 科技| 江山市| 英德市| 麻江县| 辽中县| 遂溪县| 酉阳| 鄂托克前旗| 宁远县| 武胜县| 兖州市| 苍梧县| 靖江市| 普陀区| 石泉县| 咸丰县|