Java學習筆記

來源:互聯網
上載者:User
筆記 身分識別驗證機制(authentication):確定一個使用者具有自己聲稱的那個身份
應用程式關心使用者是否通過了驗證而不關心是通過何種方式進行的驗證???
授權(存取控制:authorization):★堅持使用<security-role>來聲明所有角色
使用者資訊的提供:

首選由容器提供的身分識別驗證:(具有靜態特徵;效率?)
a.HTTP基本驗證(BASIC):usr/pwd通過Base64編碼後加入某個請求首部
b.HTTP摘要身分識別驗證(DIGEST):(HTTP1.1支援)伺服器端驗證用戶端發來的MD5摘要(包括伺服器端發來的含有時間戳記、請求資源、伺服器標識的nonce)
c.HTTPS客戶身分識別驗證(CLIENT-CERT):要求用戶端的SSL
d.表單型驗證(FORM):servlet規範專屬,由servlet容器自身來實現,明文傳輸(具體實現依賴<login-config>元素中<form-login-config>的設定)

存取控制類型由Web應用程式配置描述符中定義(屬於servlet規範):/WEB-INF/web.xml
使用者資訊的擷取:request對象提供方法獲得驗證後的使用者資訊(Servlet 2.2 API)

應用程式控制的身分識別驗證:(動態驗證模型),口令仍以明文傳送
自訂行為<oar:validateSession name="xxx" loginPage="login.jsp" errorMsg="xxx" />必須被放在應用程式中所有受保護頁面的開始:
包括3個必需屬性:name 由驗證頁面建立的Bean對象的名稱
login 找不到該對象名稱時的轉寄URL
errorMsg 在轉寄的URL頁面上顯示的訊息
作為POST請求對象的帶有存取控制的頁面需要對POST方法進行驗證:
<% if (!request.getMethod().equals("POST")) { %>
<ora:redirect page="main.jsp" />
<% } %>
避免使用者重新提交到期表單

使用HTTPS驗證將使其他三種認證失效:無論是只對伺服器進行認證還是對用戶端和伺服器端都進行認證,串連都是經過加密的

對於cookie的處理:
<ora:addCookie maxAge="2592000"/>表示cookie儲存30天(30*24*3600s)
<ora:addCookie maxAge="0"/>表示cookie立即失效

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.