<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 14,  comments - 37,  trackbacks - 0

    剛剛接觸Struts Menu的時候,對Struts Menu基于角色的菜單顯示很好理解,但是如何將web應用中的角色管理映射到Struts Menu中,是困擾筆者良久的問題。經過摸索,在查閱了Tomcat的手冊之后,筆者找到了答案。

     

     

    Servlet容器和web應用都可以控制web應用資源的安全,因此Tomcat管理域有容器管理和應用程序管理兩種,默認使用容器管理。通常web應用中使用的登陸ServletJSP則是應用程序管理。這就涉及到Realm的概念。

     

     

    Tomcat%CATALINA_HOME%/conf/server.xml文件中配置Realm,結合在%CATALINA_HOME%/WEB-INF/mywebapp/web.xml文件中配置的<security-constraint>,定義了存儲用戶和角色的信息,以及進行用戶驗證的方式。

     

     

    Tomcat中定義的Realm有如下幾種實現:UserDatabaseRealmJDBCRealmJNDIRealmJAASRealm。下載Tomcat解壓縮后默認使用的是UserDatabaseRealm。該Realm%CATALINA_HOME%/conf/tomcat-users.xml靜態文件中加載內存,Tomcat運行期間不會動態加載。因此所有的用戶、角色和密碼都是在Tomcat啟動之前配置好的,只存在于內存中。修改tomcat-users.xml文件后必須重新啟動Tomcat,該文件的具體配置請參考Tomcat手冊。

     

     

    本文要著重介紹的是JDBCRealm,該Realm使用關系數據庫,能夠動態訪問數據。用戶、角色和密碼都保存在數據庫中,一旦數據庫有變化,JDBCRealm會立即訪問。相應,JDBCRealm的設置需要數據庫的訪問參數。Tomcat5.0.28中給出了幾種數據庫的配置參數,示例如下:

     

     

    <Realm className="org.apache.catalina.realm.JDBCRealm"

     

     

    debug="99" digest="MD5"

     

     

                 driverName="oracle.jdbc.driver.OracleDriver"

     

     

              connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"

     

     

             connectionName="scott" connectionPassword="tiger"

     

     

                  userTable="users" userNameCol="user_name" userCredCol="user_pass"

     

     

              userRoleTable="user_roles" roleNameCol="role_name" />

     

     

     

     

     

    屬性說明如下:

    className是實現Realm的類名,對于JDBCRealm必須是org.apache.catalina.realm.JDBCRealm

     

     

    debug設置調試信息的詳細程度等級,0表示不調試,數字越大越詳細。

     

     

    digest是數據庫中密碼字段的加密摘要算法名稱,有SHAMD2MD5,默認是cleartext,即不加密。

     

     

    driverName是數據庫訪問的JDBC驅動

     

     

    connectionURL是數據庫訪問URL參數

     

     

    connectionNameconnectionPassword是訪問數據庫的名稱和密碼

    userTableweb應用中存儲用戶信息的表名

    userNameCol是用戶信息表中存儲用戶登陸名稱的字段名

    userCredCol是用戶信息表中存儲用戶登陸密碼的字段名

    userRoleTable是將用戶角色映射表名

    roleNameCol是角色表中存儲角色名稱的字段名

    有了這些定義,web應用中定義的用戶和角色就可以在Struts Menu中,用于配置基于角色可見與否的菜單。

    posted on 2007-07-11 10:12 冰封的愛 閱讀(140) 評論(0)  編輯  收藏 所屬分類: J2EE
    <2025年7月>
    293012345
    6789101112
    13141516171819
    20212223242526
    272829303112
    3456789

    常用鏈接

    留言簿(3)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 羞羞视频免费观看| 亚洲欧洲在线播放| 新最免费影视大全在线播放| 夜夜嘿视频免费看| 最近更新免费中文字幕大全| 国产jizzjizz免费视频| MM1313亚洲国产精品| 免费a级毛片无码av| 黄网站色视频免费看无下截| 亚洲国产成人精品女人久久久 | 亚洲成AⅤ人影院在线观看| 美女视频黄a视频全免费网站一区| 免费欧洲毛片A级视频无风险| 搜日本一区二区三区免费高清视频| 亚洲精品国产精品国自产观看| 国产免费内射又粗又爽密桃视频 | 黄色视频在线免费观看| 久久综合九九亚洲一区| 18观看免费永久视频| 亚洲一区AV无码少妇电影| 国产免费怕怕免费视频观看| 日韩a毛片免费观看| 亚洲不卡中文字幕无码| 精品久久久久久久久亚洲偷窥女厕| 国产一区二区三区无码免费| 皇色在线免费视频| 亚洲av日韩av天堂影片精品| 免费精品国产自产拍在| 久久久久亚洲av无码专区| 国产成人A在线观看视频免费| 日韩色日韩视频亚洲网站| 亚洲人成网77777亚洲色| 免费视频精品一区二区| 亚洲va久久久噜噜噜久久男同| 亚欧人成精品免费观看| 老司机午夜精品视频在线观看免费| 亚洲欧洲美洲无码精品VA| 青苹果乐园免费高清在线| 久久九九久精品国产免费直播| 亚洲伊人久久大香线蕉影院| 国产片AV片永久免费观看|