亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > Java > 正文

java中使用Filter控制用戶登錄權限具體實例

2019-11-26 16:03:24
字體:
來源:轉載
供稿:網友

學jsp這么長時間,做的項目也有七八個了,可所有的項目都是用戶登錄就直接跳轉到其擁有權限的頁面,或者顯示可訪問頁面的鏈接。使用這種方式來幼稚地控制訪問權限。從來沒有想過如果我沒有登錄,直接輸入地址也可以直接訪問用戶的頁面的。

在jsp中權限的控制是通過Filter過濾器來實現的,所有的開發框架中都集成有Filter,如果不適用開發框架則有如下實現方法:

LoginFilter.java

復制代碼 代碼如下:

public class LoginFilter implements Filter { 

    private String permitUrls[] = null; 

    private String gotoUrl = null; 

    public void destroy() { 

        // TODO Auto-generated method stub 

        permitUrls = null; 

        gotoUrl = null; 

    } 

    public void doFilter(ServletRequest request, ServletResponse response, 

            FilterChain chain) throws IOException, ServletException { 

        // TODO Auto-generated method stub 

        HttpServletRequest res=(HttpServletRequest) request; 

        HttpServletResponse resp=(HttpServletResponse)response; 

        if(!isPermitUrl(request)){ 

            if(filterCurrUrl(request)){ 

                System.out.println("--->請登錄"); 

                resp.sendRedirect(res.getContextPath()+gotoUrl); 

                return; 

            } 

        } 

        System.out.println("--->允許訪問"); 

        chain.doFilter(request, response); 

    } 

    public boolean filterCurrUrl(ServletRequest request){ 

        boolean filter=false; 

        HttpServletRequest res=(HttpServletRequest) request; 

        User user =(User) res.getSession().getAttribute("user"); 

        if(null==user) 

            filter=true; 

        return filter; 

    }       

    public boolean isPermitUrl(ServletRequest request) { 

        boolean isPermit = false; 

        String currentUrl = currentUrl(request); 

        if (permitUrls != null && permitUrls.length > 0) { 

            for (int i = 0; i < permitUrls.length; i++) { 

                if (permitUrls[i].equals(currentUrl)) { 

                    isPermit = true; 

                    break; 

                } 

            } 

        } 

        return isPermit; 

    }        

    //請求地址 

    public String currentUrl(ServletRequest request) {   

        HttpServletRequest res = (HttpServletRequest) request; 

        String task = request.getParameter("task"); 

        String path = res.getContextPath(); 

        String uri = res.getRequestURI(); 

        if (task != null) {// uri格式 xx/ser 

            uri = uri.substring(path.length(), uri.length()) + "?" + "task="

                    + task; 

        } else { 

            uri = uri.substring(path.length(), uri.length()); 

        } 

        System.out.println("當前請求地址:" + uri); 

        return uri; 

    } 

    public void init(FilterConfig filterConfig) throws ServletException { 

        // TODO Auto-generated method stub 

        String permitUrls = filterConfig.getInitParameter("permitUrls"); 

        String gotoUrl = filterConfig.getInitParameter("gotoUrl"); 

  

        this.gotoUrl = gotoUrl; 

  

        if (permitUrls != null && permitUrls.length() > 0) { 

            this.permitUrls = permitUrls.split(","); 

        } 

    } 

}


Web.xml

復制代碼 代碼如下:

<filter> 

    <filter-name>loginFilter</filter-name> 

    <filter-class>filter.LoginFilter</filter-class> 

  

    <init-param> 

        <param-name>ignore</param-name> 

        <param-value>false</param-value> 

    </init-param> 

    <init-param> 

        <param-name>permitUrls</param-name> 

        <param-value>/,/servlet/Loginservlet?task=login,/public.jsp,/login.jsp</param-value> 

    </init-param> 

    <init-param> 

        <param-name>gotoUrl</param-name> 

        <param-value>/login.jsp</param-value> 

    </init-param> 

</filter> 

<filter-mapping> 

    <filter-name>loginFilter</filter-name> 

    <url-pattern>/*</url-pattern> 

</filter-mapping>

這短代碼主要實現了用戶登錄的過濾,權限過濾原理相同。只需要把判斷用戶是否登錄換成是否有權限就可以了!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品精品视频一区二区三区| 日韩中文字幕精品视频| 亚洲黄页视频免费观看| 国产欧美在线观看| 久久久精品免费| 精品美女国产在线| 亚洲天堂视频在线观看| 91久久久精品| 国产日韩欧美在线视频观看| 亚洲精品福利在线观看| 中文字幕日韩av电影| 国产精自产拍久久久久久| 久久精品久久久久| 亚洲一区第一页| 欧美日韩国产色| 国产欧美精品在线| 久久在精品线影院精品国产| 国产成人一区三区| 97av在线播放| 在线观看欧美日韩国产| 国产欧美精品一区二区三区介绍| 精品久久久久久国产| 97香蕉久久超级碰碰高清版| 精品久久久中文| 高清一区二区三区日本久| 精品动漫一区二区三区| 97在线观看免费| 亚洲精品一区二区网址| 欧美激情伊人电影| 2024亚洲男人天堂| 国产视频久久久| 国产xxx69麻豆国语对白| 亚洲图片欧美午夜| 亚洲护士老师的毛茸茸最新章节| 91av在线精品| 欧美日韩性生活视频| 亚洲天堂2020| 久久av.com| 在线观看国产精品91| 国产精品夜色7777狼人| 久久久久久香蕉网| 欧美日韩国产在线播放| 日韩精品高清视频| 精品久久久香蕉免费精品视频| 清纯唯美日韩制服另类| 91影院在线免费观看视频| 国产精品美女久久久免费| 91九色在线视频| 久久综合伊人77777尤物| 国产偷国产偷亚洲清高网站| 国产亚洲xxx| 国产精品成人在线| 欧美国产日韩中文字幕在线| 日本精品久久久| 日本久久久久久久久| 国模视频一区二区三区| 91在线观看免费| 久久亚洲精品国产亚洲老地址| 青草青草久热精品视频在线网站| 日韩精品www| 国产不卡av在线免费观看| 久久婷婷国产麻豆91天堂| 国产福利视频一区| 国产精品日韩欧美综合| 欧美日韩加勒比精品一区| 久久免费视频网| 亚洲深夜福利网站| 亚洲国产天堂久久综合| 亚洲欧美日韩中文视频| 中文字幕日韩欧美| 日本成人黄色片| 欧美大尺度电影在线观看| 欧洲日韩成人av| 久久久久久久久久国产| 福利精品视频在线| 成人精品视频久久久久| 国产精品成人aaaaa网站| 亚洲色图综合网| 欧美亚洲另类视频| 国产在线视频2019最新视频| 国产精品高潮视频| 国产欧美日韩中文字幕在线| 亚洲国产中文字幕在线观看| 91精品国产91久久久久福利| 日韩av在线精品| 久久99热精品这里久久精品| 亚洲黄色成人网| 欧美多人乱p欧美4p久久| 日韩在线播放av| 精品久久久91| 欧美亚洲成人精品| 91麻豆国产精品| 久久精品视频导航| 国模吧一区二区| 日韩视频在线免费观看| 久久露脸国产精品| 欧美一区二三区| 亚洲va欧美va在线观看| 久久久久久久久久久久av| xxav国产精品美女主播| 中文字幕久久久av一区| 国产成人在线精品| 成人免费看片视频| 国产视频精品久久久| 国产在线观看一区二区三区| 欧美激情2020午夜免费观看| 日本欧美一二三区| 亚洲国产精品福利| 大胆欧美人体视频| 久久久久久久久国产| 91在线视频导航| 亚洲黄页网在线观看| 7777免费精品视频| 亚洲无限乱码一二三四麻| 乱亲女秽乱长久久久| 久久青草福利网站| 黄网动漫久久久| 亚洲欧美在线一区二区| 麻豆精品精华液| 国产精品电影网站| 大伊人狠狠躁夜夜躁av一区| 在线观看日韩av| 亚洲国产成人久久综合一区| 亚洲成人免费在线视频| 久久久久久伊人| 亚洲自拍av在线| 色妞在线综合亚洲欧美| 久久久精品久久久| 欧美极品少妇xxxxⅹ喷水| www.久久久久久.com| 精品久久久在线观看| 久久青草福利网站| 久热爱精品视频线路一| 在线观看精品自拍私拍| 日韩不卡中文字幕| 欧美成年人视频网站| 亚洲精品久久久久久久久| 色噜噜亚洲精品中文字幕| 亚洲欧美精品一区| 久久久久久尹人网香蕉| 国产精品一区二区久久久久| 欧美国产日韩中文字幕在线| 亚洲午夜久久久影院| 国产成+人+综合+亚洲欧洲| 国产精品99一区| 91av视频导航| 日韩av三级在线观看| 国模私拍一区二区三区| 亚洲国产成人一区| 亚洲日本中文字幕免费在线不卡| 奇米影视亚洲狠狠色| 国产精品青青在线观看爽香蕉| 欧美另类交人妖| 欧洲精品久久久| 亚洲色图狂野欧美| 亚洲欧美日韩天堂| 日韩一区二区在线视频| 精品综合久久久久久97| 国产成人免费av| 亚洲精品一区二区三区婷婷月| 亚洲精品一区中文| 亚洲电影免费观看高清完整版在线观看| 亚洲国产精品成人va在线观看| 久久精品一本久久99精品|