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

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

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

    itkui

    年少為何不輕狂!

    利用Filter限制用戶瀏覽權(quán)限

    在一個系統(tǒng)中通常有多個權(quán)限的用戶。不同權(quán)限用戶的可以瀏覽不同的頁面。使用Filter進(jìn)行判斷不僅省下了代碼量,而且如果要更改的話只需要在Filter文件里動下就可以。
    以下是Filter文件代碼:

    package cn.itkui.filter;

    import java.io.IOException;

    import javax.servlet.Filter;
    import javax.servlet.FilterChain;
    import javax.servlet.FilterConfig;
    import javax.servlet.ServletException;
    import javax.servlet.ServletRequest;
    import javax.servlet.ServletResponse;
    import javax.servlet.http.HttpServletRequest;

    public class RightFilter implements Filter {

        
    public void destroy() {
            
        }


        
    public void doFilter(ServletRequest sreq, ServletResponse sres, FilterChain arg2) throws IOException, ServletException {
            
    // 獲取uri地址
            HttpServletRequest request=(HttpServletRequest)sreq;
            String uri 
    = request.getRequestURI();
            String ctx
    =request.getContextPath();
            uri 
    = uri.substring(ctx.length());
            
    //判斷admin級別網(wǎng)頁的瀏覽權(quán)限
            if(uri.startsWith("/admin")) {
                
    if(request.getSession().getAttribute("admin")==null{
                    request.setAttribute(
    "message","您沒有這個權(quán)限");
                    request.getRequestDispatcher(
    "/login.jsp").forward(sreq,sres);
                    
    return;
                }

            }

            
    //判斷manage級別網(wǎng)頁的瀏覽權(quán)限
            if(uri.startsWith("/manage")) {
                
    //這里省去
                }

            }

            
    //下面還可以添加其他的用戶權(quán)限,省去。

        }


        
    public void init(FilterConfig arg0) throws ServletException {
            
        }


    }
    以下是在web.xml需要加入的代碼
     <!-- 判斷頁面的訪問權(quán)限 -->
      
    <filter>
         
    <filter-name>RightFilter</filter-name>
          
    <filter-class>cn.itkui.filter.RightFilter</filter-class>
      
    </filter>
      
    <filter-mapping>
          
    <filter-name>RightFilter</filter-name>
          
    <url-pattern>/admin/*</url-pattern>
      
    </filter-mapping>
      
    <filter-mapping>
          
    <filter-name>RightFilter</filter-name>
          
    <url-pattern>/manage/*</url-pattern>
      
    </filter-mapping>

    posted on 2007-07-18 17:35 itkui 閱讀(2446) 評論(10)  編輯  收藏 所屬分類: Java

    評論

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-18 22:24 Hmilyld

    這個方法挺爽,
    特別是對多用戶管理的時(shí)候,權(quán)限分配上感覺蠻好。  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-18 23:41 go

    不錯...  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 08:07 demo

    這里面存在比較嚴(yán)重的問題,首先權(quán)限變更需要通過變更代碼來實(shí)現(xiàn),這是問題一;其二,若是需要配置成百上千的權(quán)限,那你都要在代碼里面編寫一遍,工作量太大;其三,若是遇到需要中途變更權(quán)限的話,不知道你準(zhǔn)備怎么處理?其四,用戶若是想控制權(quán)限的全過程,你怎么能釋放這個權(quán)限讓用戶能夠做到完整控制。  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 09:38 cresposhi

    有理有理,簡單的限制一下能訪問的路徑還是比較優(yōu)雅的,但是如果上升到權(quán)限的話這種方式就不夠用了。  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 10:26 itkui

    @demo
    呵呵,相關(guān)權(quán)限只要在Filter文件里稍微更改下就可以了.
    沒有做過太大的程序,所以暫時(shí)沒法考慮太多.
    不知道仁兄有何高見?  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 10:28 itkui

    Filter能做的很好多,比如限制用戶重復(fù)登陸等等...
    善用它可以減少很多的代碼量,
    需求修改的話修改也比較簡單.  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 14:32 BeanSoft

    BS 冒充高人, 無非就是手熟, 早學(xué)了幾天而已. 你跟EA的人比比就知道自己是個什么水平:
    http://img3.pcgames.com.cn/pcgames/0703/10/870528_pcgamesCryEngine2_06.jpg
    再跟 Java 領(lǐng)域的 Netbeans 支持的 SOA 比比:
    http://www.netbeans.org/kb/55/loanprocessing.html

    做人要謙虛.  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 17:20 小雪飛刀

    以前項(xiàng)目中一直在用這種方法實(shí)現(xiàn)權(quán)限控制,一般的小項(xiàng)目就夠用了。如果是比較大的項(xiàng)目,會有很多功能強(qiáng)大的權(quán)限控制方式。demo的說法不無道理。  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-19 19:21 itkui

    @小雪飛刀
    當(dāng)然知道他說的有道理啦。
    可是我只是在學(xué)習(xí)階段,真正的項(xiàng)目也沒做過。
    不知道公司里面一般用什么來做權(quán)限驗(yàn)證呀?  回復(fù)  更多評論   

    # re: 利用Filter限制用戶瀏覽權(quán)限 2007-07-23 08:48 濟(jì)南筆記本專賣

    Servlet的功能之一,寫的好  回復(fù)  更多評論   

    導(dǎo)航

    統(tǒng)計(jì)

    留言簿(1)

    隨筆檔案(24)

    收藏夾(15)

    好站珍藏

    學(xué)習(xí)資源

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 激情亚洲一区国产精品| 国产亚洲综合视频| 成人永久免费高清| eeuss影院免费92242部| 18亚洲男同志videos网站| 青青草国产免费久久久91| 两个人看的www免费| 亚洲国产精品线观看不卡| 一级毛片直播亚洲| 69xx免费观看视频| 美女被羞羞网站免费下载| 亚洲av无码av制服另类专区| 四虎影视www四虎免费| 人妻免费一区二区三区最新| 亚洲真人无码永久在线观看| 中文字幕人成人乱码亚洲电影| 久久成人国产精品免费软件| av片在线观看永久免费| 2019亚洲午夜无码天堂| 亚洲一区爱区精品无码| 成人a视频片在线观看免费| 免费成人在线电影| 阿v视频免费在线观看| 亚洲成aⅴ人片在线影院八| 在线观看国产区亚洲一区成人| 无码人妻一区二区三区免费手机 | 国产亚洲免费的视频看| 日韩高清在线高清免费| 久久不见久久见免费视频7| 久香草视频在线观看免费 | 久久久久久国产a免费观看不卡 | 亚洲精品国产va在线观看蜜芽| 中文字幕无码不卡免费视频| 国产成人精品一区二区三区免费| 亚洲国产区男人本色| 亚洲成人黄色网址| 久久亚洲国产成人亚| 亚洲综合网站色欲色欲| 在线a亚洲v天堂网2018| 超pen个人视频国产免费观看| 91精品免费国产高清在线|