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

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

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

    posts - 37,  comments - 53,  trackbacks - 0

    這幾天要用到一個簡單的權限管理,本來想用struts-Menu簡單搞定,但是很是郁悶的是不知道怎么樣將tomcat的角色應用到struts-menu中,在網上搜了好久,終于在www.yahoo.com.cn中找了不知道是那位大俠的文章,在此感謝了,也希望能給他人方便,特轉貼到此:

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

    ?

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

    ?

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

    ?

    Tomcat中定義的Realm有如下幾種實現:UserDatabaseRealm、JDBCRealm、JNDIRealm和JAASRealm。下載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是數據庫中密碼字段的加密摘要算法名稱,有SHA、MD2或MD5,默認是cleartext,即不加密。

    ?

    driverName是數據庫訪問的JDBC驅動

    ?

    connectionURL是數據庫訪問URL參數

    ?

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

    userTable是web應用中存儲用戶信息的表名

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

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

    userRoleTable是將用戶角色映射表名

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

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

    ?

    posted on 2006-04-12 10:26 雪地孤鴻 閱讀(784) 評論(0)  編輯  收藏 所屬分類: STRUTS

    只有注冊用戶登錄后才能發表評論。


    網站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    <2006年4月>
    2627282930311
    2345678
    9101112131415
    16171819202122
    23242526272829
    30123456

    常用鏈接

    留言簿(17)

    隨筆分類

    隨筆檔案

    文章檔案

    blog

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲乱码一二三四区麻豆| 国产精品亚洲аv无码播放| 亚洲一区二区三区高清视频| 日韩精品无码一区二区三区免费 | 免费黄色毛片视频| 亚洲理论片中文字幕电影| 亚洲无砖砖区免费| 亚洲AV福利天堂一区二区三| 成人性生交大片免费看中文| 久久久久亚洲AV成人无码网站| 亚洲av永久无码嘿嘿嘿| 国产a视频精品免费观看| 亚洲国产综合第一精品小说| 日本视频一区在线观看免费| 亚洲无mate20pro麻豆| 在线免费观看色片| 麻豆69堂免费视频| 国产精品亚洲а∨无码播放 | 亚洲色成人网一二三区| 久久免费观看国产精品88av| 亚洲欧洲精品视频在线观看| 成人黄软件网18免费下载成人黄18免费视频 | 亚洲精品无码久久久久A片苍井空| 免费夜色污私人影院网站| 亚洲精品无码成人片在线观看 | 1000部拍拍拍18勿入免费视频软件| 又大又粗又爽a级毛片免费看| 亚洲成A∨人片在线观看无码| 一级**爱片免费视频| 国产亚洲大尺度无码无码专线 | 国产成人A人亚洲精品无码| 91精品视频在线免费观看| 亚洲国产成人精品无码区在线网站 | 波多野结衣中文一区二区免费 | 美女被免费网站在线视频免费| 精品国产sm捆绑最大网免费站| 亚洲人成人网站色www| 4444www免费看| 亚洲另类无码专区丝袜| 亚洲精品乱码久久久久久自慰| 一本久久免费视频|