Asktalk

          天行健,君子以自強(qiáng)不息!
          posts - 21, comments - 79, trackbacks - 0, articles - 2
            BlogJava :: 首頁(yè) ::  :: 聯(lián)系 :: 聚合  :: 管理

          tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限

          CSDN網(wǎng)址:http://blog.csdn.net/fasttalk
          剛從CSDN搬到這里,先發(fā)表一篇!
          web應(yīng)用中,對(duì)頁(yè)面的訪問(wèn)控制通常通過(guò)程序來(lái)控制,流程為:

          登錄 -> 設(shè)置session -> 訪問(wèn)受限頁(yè)面時(shí)檢查session是否存在,如果不存在,禁止訪問(wèn)

          對(duì)于較小型的web應(yīng)用,可以通過(guò)tomcat內(nèi)置的訪問(wèn)控制機(jī)制來(lái)實(shí)現(xiàn)權(quán)限控制。采用這種機(jī)制的好處是,程序中無(wú)需進(jìn)行權(quán)限控制,完全通過(guò)對(duì)tomcat的配置即可完成訪問(wèn)控制。

          為了在tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限控制,在項(xiàng)目的WEB-INFO/web.xml文件中,進(jìn)行如下設(shè)置:

          其中,<url-pattern>中指定受限的url,可以使用通配符*,通常對(duì)整個(gè)目錄進(jìn)行訪問(wèn)權(quán)限控制。
          <auth-constraint>
          中指定哪些角色可以訪問(wèn)<url-pattern>指定的url,在<role-name>中可以設(shè)置一個(gè)或多個(gè)角色名。

          使用的角色名來(lái)自tomcat的配置文件${CATALINA_HOME}/conf/tomcat-users.xml

          <login-config>中設(shè)置登錄方式,<auth-method>的取值為BASICFORM。如果為BASIC,瀏覽器在需要登錄時(shí)彈出一個(gè)登錄窗口。如果為FORM方式,需要指定登錄頁(yè)面和登錄失敗時(shí)的提示信息顯示頁(yè)面。

          使用FORM方式的配置樣例如下:

          其中的<form-login-page>指定登錄頁(yè)面url<form-error-page>指定登錄失敗時(shí)的提示頁(yè)面url
          登錄頁(yè)面中,formaction,以及其中的用戶名和密碼兩個(gè)參數(shù)的名稱,都應(yīng)取固定的值。登錄的后臺(tái)處理程序?yàn)?SPAN lang=EN-US>j_security_check
          ;用戶名和密碼的參數(shù)名稱分別為:j_usernamej_password
          如下是登錄頁(yè)面(如:login.jsp)的一段示例代碼:

           


          評(píng)論

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2005-12-13 20:04 by 小陳故事
          不適合大型企業(yè)級(jí)應(yīng)用,僅僅適合角色相對(duì)固定的應(yīng)用系統(tǒng)(如學(xué)校的一些應(yīng)用)

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2006-03-01 17:42 by GUEST
          可以通過(guò)數(shù)據(jù)庫(kù)添加刪除和改變用戶和角色,完全可以適合企業(yè)應(yīng)用啊。
          不明白一樓為什么這么說(shuō),呵呵

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2006-03-11 08:58 by question
          <form method="POST" action='<%= response.encodeURL("j_security_check") %>' >
          能不能不用post,用get?

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2006-07-28 11:20 by 什么都可以
          請(qǐng)問(wèn)登錄進(jìn)去后,接著執(zhí)行哪里,在這里哪個(gè)地方配置了.這里好象只提到了登錄頁(yè)面和失敗頁(yè)面,那假如登錄成功,接下來(lái)做什么,在哪里指定咧?這個(gè)問(wèn)題是我一直迷惑的地方,請(qǐng)指教.

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2006-09-20 18:20 by binge
          和樓上的相同的疑問(wèn)

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2006-12-27 17:22 by JIEVA
          <url-pattern>/ddly/admin/*</url-pattern>
          這句的意思是ddly/admin下的所有頁(yè)面都必須通過(guò)驗(yàn)證才能訪問(wèn)。
          也就是說(shuō),比如我要登陸系統(tǒng)的主頁(yè)面ddly/admin/index.jsp,我在地址欄輸入這個(gè)地址,因?yàn)闆](méi)有驗(yàn)證過(guò),所以就跳到/login.jsp頁(yè)面讓你輸入用戶名和密碼,當(dāng)然要是tomcat相應(yīng)角色下的,如果輸入正確就會(huì)到你要去的主頁(yè)面,如果不正確,就會(huì)到/error.jsp.
          大家就是這樣的,我剛實(shí)現(xiàn)了一個(gè),不過(guò)是用weblogic的驗(yàn)證

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2007-01-24 14:38 by conan
          可以通過(guò)數(shù)據(jù)庫(kù)添加刪除和改變用戶和角色,完全可以適合企業(yè)應(yīng)用啊。


          如何通過(guò)呢?能介紹一下么?

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2007-01-24 18:16 by JIEVA
          個(gè)人覺(jué)得這種登陸認(rèn)證策略只適合后臺(tái)管理頁(yè)面的控制,不適合前臺(tái)注冊(cè)用戶的登陸認(rèn)證。因?yàn)檫@種依賴于服務(wù)器的用戶和角色都得手動(dòng)的在服務(wù)器中配置,不適合大量帳號(hào)的應(yīng)用。前臺(tái)的大量注冊(cè)用戶的登陸應(yīng)該用你的方法通過(guò)數(shù)據(jù)庫(kù)了。而后臺(tái)的管理帳號(hào)只是幾個(gè)而已,沒(méi)必要再操作數(shù)據(jù)庫(kù)了。

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2007-11-08 20:24 by 姜利陽(yáng)
          不錯(cuò)!

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)[未登錄](méi)  回復(fù)  更多評(píng)論   

          2008-01-08 18:32 by jack
          我在login.jsp里輸入的用戶名和密碼傳到了 j_security_check中,然后我在哪里寫(xiě)檢查數(shù)據(jù)庫(kù)中是否有此用戶及密碼對(duì)不對(duì)的代碼呢?

          # re: J2EE安全策略:為tomcat頁(yè)面設(shè)置訪問(wèn)權(quán)限(j_security_check)  回復(fù)  更多評(píng)論   

          2008-07-18 16:30 by s
          可以用GET代替POST,只是個(gè)人信息容易被人發(fā)現(xiàn)。
          因?yàn)镚ET方式要傳參數(shù)

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 祁门县| 西和县| 阿克苏市| 平度市| 繁昌县| 紫阳县| 布拖县| 台前县| 巧家县| 东海县| 柘荣县| 古丈县| 巫山县| 阳新县| 咸阳市| 加查县| 司法| 富平县| 拉萨市| 桃园县| 毕节市| 思南县| 梁河县| 封开县| 济阳县| 基隆市| 沙田区| 蓝山县| 成武县| 大同市| 韶山市| 扬州市| 金川县| 富裕县| 青州市| 青神县| 同心县| 辽宁省| 三门县| 天门市| 贡觉县|