tomcat6配置RealmJDBC

來源:互聯網
上載者:User
首先準備好資料庫表或視圖:

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));找到tomcat6目錄下的conf目錄,編輯其中的context.xml檔案,寫入如下內容

<Realm
className="org.apache.catalina.realm.JDBCRealm"
      
driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver" 
 connectionURL="jdbc:sqlserver://127.0.0.1:1433;DatabaseName=test"   connectionName="sa"
connectionPassword="111111" userTable="users"
userNameCol="user_name"  userCredCol="user_pass"
  
userRoleTable="user_roles"  roleNameCol="role_name"/>其中各項都不用太多介紹了,做開發的應該都能看得懂....然後找到項目中的web.xml檔案,新增內容 <security-constraint
id="test2"><web-resource-collection
id="test1"><web-resource-name>Protected
Area</web-resource-name><url-pattern>*.do</url-pattern><url-pattern>*.jsp</url-pattern><http-method>DELETE</http-method><http-method>GET</http-method><http-method>POST</http-method><http-method>PUT</http-method></web-resource-collection><auth-constraint
id="test3"><role-name>admin</role-name><role-name>user</role-name> <role-name>user</role-name></auth-constraint></security-constraint><login-config><auth-method>FORM</auth-method><realm-name>myrealm</realm-name><form-login-config><form-login-page>/login.jsp</form-login-page><form-error-page>/error.jsp</form-error-page></form-login-config>
   </login-config><security-role><description>Administrator
role</description><role-name>admin</role-name><role-name>user</role-name> <role-name>user</role-name></security-role>其中兩個<role-name>中的內容為資料庫中的user_roles表中的role_name欄位,這個欄位可以放入多個,表示對多個角色放入登陸,這樣就算是配置完成了,其中我為了簡便,就對jsp進行了監控,其實可以配置對action的監控,這要看自己的配置了。這裡有個已經配置好的測試專案,我放在網盤中了,有興趣的可以下載看看:test.zip至於項目的退出功能,直接調用session.invalidate();就可以了!2013-01-10 --配置全使用者通過(不去判斷角色)剛剛經理說讓配置全部使用者通過驗證,不看角色,角色用另外一個系統來判斷,於是配置了一下,第一想法就是<role-name>*</role-name>
兩個地方都改成這樣子就好了結果就是可以了,

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.