Filter實現登入後自動跳轉目標url

2022-09-22 03:09:09 字數 1592 閱讀 8517

5)filter實現登入後自動跳轉目標url

馬 克-to-win:下面我們將利用filter技術完成乙個稍微實用一點的需求。需求的內容如下:一言以蔽之,我們就想保護internal目錄下的所有 資源,(其他地方不保護)。具體有這麼幾點:如果使用者非法訪問internal目錄下的資源,就將他導向internal目錄下的login.jsp。如 果在login.jsp當中,他輸入了正確的使用者名稱和密碼,就讓他自動跳轉到他原來想訪問的那個jsp。但如果在一開始,使用者直接就想訪問 login.jsp,即使他輸入了正確的使用者名稱和密碼,也只把他導向回根目錄的首頁index.jsp。這裡需求有兩個難點。一是自動跳轉到他原來想訪問 的那個jsp,這需要把他原來想要訪問的目標給存在session當中。想得到他想訪問的目標,就用 (httpservletrequest)hsr.getrequesturi()。馬克-to-win:這還不算難。第二個難點就更難。我怎麼能知道用 戶一開始的目的就是想訪問login.jsp,還是使用者一開始想訪問internal目錄裡其他的資源而被導到login.jsp的呢?因為 login.jsp也在internal目錄裡,所以到達login.jsp之前,無論如何要經過filter。問題好像很困難。這裡,我是這樣完成這個 需求的:當使用者想非法訪問internal目錄下的任何資源前一瞬間(除了login.jsp自己,這一點你要加判斷,desurl.endswith ("login.jsp"),否則邏輯上會出問題,不信你試試),我在request範圍裡加上乙個標誌:illegal。馬克-to-win:只有這種 情況,我才加這個標誌。這樣在login.jsp的正常程式前,我再加乙個判斷,看是否有這個標誌?如果有,就證明使用者想非法訪問internal目錄下 的某個資源。如果沒有這個標誌,就說明使用者一開始就想訪問login.jsp。

例 1.2.5

index.jsp

<%@ page contenttype="text/html; charset=gbk" %>

secret.jsp

secret2.jsp

login.jsp

home.jsp

secret.jsp

<%@ page contenttype="text/html; charset=gbk" %>

這裡秘密地方,來到這,說明你已經登入了

secret2.jsp

<%@ page contenttype="text/html; charset=gbk" %>

這裡秘密地方2,來到這,說明你已經登入了

home.jsp

<%@ page contenttype="text/html; charset=gbk" %>

這是在home.jsp

login.jsp

<%@ page contenttype="text/html; charset=gbk" %>

<%=request.getrequesturi() %>

<%system.out.println(request.getrequesturi()); %>

<%

string reqretu=(string)request.getattribute("illegal");

if(reqretu==null)

else

%>        

Session過期後實現自動跳轉登入頁面

最近研究如果用原生的filter來判別session存在否或者過期否。來跳轉到的頁面例項,來展示 因為顧慮器是每次請求能會進入的,所以可以設定了,進行攔截判斷 1.配置web.xml backendfilter com.sun.backfilter backfilter backend issues...

filter過濾步驟之自動登入

從servlet開始,前面的就是dao,domain,service,utis之類的,挺簡單,從下面說起l 首先獲取文字框的值,因為登陸有效期需要設定一下,cookie的最大有效起,應為int型別,轉換一下型別 接下來判斷一下,呼叫service類,判斷使用者名稱密碼是否正確,調dao的方法判斷 返...

使用者登入後跳轉到 登入前 的頁面 url 跳轉

在一般有使用者登入的 中,都會有需要使用者登入後才能操作的頁面,如果在使用者登入後能跳轉到之前的頁面,就會給使用者乙個很好的體驗,也能讓他們更容易的瀏覽要操作的頁面。這中間主要用到的是獲取url引數,獲取後用於跳轉。主要實現步驟 為了能很好的說明,主要已兩個頁面為例,order.aspx,login...