我已閱讀了許多有關使用REST服務進行身份驗證,授權等的討論。 我現在已經知道如何使用REST進行身份驗證/授權。使用REST服務訪問控制頁面
但是我沒有得到的東西是,如何使用REST服務控制對網頁的訪問。 這是一個很好的做法嗎?如果是這樣,怎麼樣?
示例:本地主機/服務
網頁根:的REST服務
localhost無/
現在的網頁,該情況是:
1.客戶端嘗試轉到頁面localhost/pages/join.html
,但它無權訪問。
2.因此,服務器應該檢查客戶端是否有權訪問該頁面,並且由於它沒有權限,應該將客戶端重定向到某個地方。
我的問題不是服務器如何檢查,瞭解客戶是否有權利。
但是,我想知道,何時以及如何使用REST服務進行此檢查和重定向。
舉例來說,在我腦海中的,在join.html
的身體,用<body onload>
運行,檢查客戶端發送一個JSON消息REST服務的訪問權的JavaScript中的第一個想法,讓說,到localhost/services/access
。
然後,服務將返回它的答案,如果確定,頁面將被加載,否則將被重定向到window.location.href
。這是決定使用REST服務訪問網頁的權利的方式嗎?還有其他常見的解決方案/實踐嗎?
請再次注意,我不問,如何保護我的REST API等,但
如何檢查訪問權限,我的網頁與REST服務?
感謝您的回答。我知道REST服務並不適用於這種事情,對吧?所以,比方說,我使用了servlet過濾器,並且它位於另一個項目(.war)中,而不是我的REST服務。我如何理解用戶是否使用REST服務進行了身份驗證? (不使用數據庫)因爲儘管客戶端向REST服務發送了令牌,cookie或其他任何內容到Servlet,但Servlet無法檢查此令牌,因爲它沒有正確的令牌。那麼,我應該從Servlet中請求這個給我的REST服務嗎?這似乎不是一個好習慣,對吧? – 2013-05-12 10:19:18
訪問控制應綁定到其餘服務服務器,請參閱我的更新答案。 – ltebean 2013-05-12 10:42:50
但是我看不到的是:requeest是針對/pages/a.html製作的,這不是REST服務。我如何中斷並使用REST服務? – 2013-05-12 10:46:31