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 閱讀(282) 評論(0)  編輯  收藏 所屬分類: java身份認證轉帖
          主站蜘蛛池模板: 张家口市| 湘乡市| 洛隆县| 上饶县| 松江区| 拜城县| 志丹县| 房产| 涟源市| 千阳县| 南投县| 鹤岗市| 宿迁市| 阳泉市| 甘南县| 富裕县| 富锦市| 永泰县| 准格尔旗| 紫云| 德昌县| 磐安县| 阿拉善盟| 克什克腾旗| 石河子市| 青铜峡市| 德州市| 乌拉特后旗| 前郭尔| 宣恩县| 阜康市| 沈丘县| 马龙县| 巴林左旗| 花垣县| 麟游县| 独山县| 临漳县| 平定县| 鄂托克前旗| 昆山市|