Servlet 安全方法
来源:互联网 发布:nat穿透软件 编辑:程序博客网 时间:2024/06/04 19:58
Servlet 安全方法
authenticate、login、logout、getRemoteUser、isUserInRole 和 getAuthType 等 Servlet 安全方法,都是 javax.servlet.http.HttpServletRequest 介面的方法。
authenticate
authenticate 方法利用 Servlet 環境定義所配置的 WebSphere Application Server 儲存器登入機制來鑑別使用者。
boolean authenticate(HttpServletResponse response))
- response
- 關聯於 HttpServletRequest 的 HttpServletResponse。
在建立好鑑別或鑑別成功之後,authenticate 方法會傳回 true。
如果鑑別尚未完成,而基礎登入機制已在回應中確定要傳回使用者的訊息和 HTTP 狀態碼,鑑別方法會傳回 false。
如果撰寫回應時發生錯誤,會發生 java.io.IOException。
如果鑑別失敗,且呼叫端負責處理錯誤,例如,基礎登入機制未建立要傳回使用者的訊息和 HTTP 狀態碼,就會發生 ServletException。
- WebSphere Application Server 會向用戶端傳送 HTTP 401 碼。
- 方法取決於 Servlet 環境定義所配置的 WebSphere Application Server 儲存器登入機制。 比方說,如果您定義了這個 Servlet 的表單登入,就會提示輸入使用者名稱和密碼。 用戶端將使用者 ID 和密碼傳給 WebSphere Application Server 來進行鑑別。
Boolean authResultTrue = req.authenticate(response);if (!authResultTrue) {return;} else {// 利用新的呼叫主體來呼叫其他服務。 }
login
這個登入方法讓使用者以使用者 ID 和密碼來接受 WebSphere Application Server 的鑑別。 如果鑑別成功,就會在執行緒和「小型認證機構 (LTPA)」Cookie(如果啟用單一登入 (SSO) 的話)上建立一個使用者主體。
login(java.lang.String username, java.lang.String password)
- username
- 對應於使用者登入 ID 的字串值。
- password
- 使用者的密碼。
如果配置的登入機制不支援使用者名稱和密碼鑑別、身分已鑑別過的(在呼叫登入之前),或提供的使用者名稱和密碼驗證失敗,就會發生 ServletException。
如需修改安全自訂內容的相關資訊,請參閱「修改廣域安全配置或安全網域配置中現有的自訂內容」一文。
由於 authenticate 和 login 方法會將呼叫主體設為新的主體,系統不會處理部署描述子、安全註釋或動態註釋中的 run-As 屬性所定義的執行身分。
logout
- 如果已啟用 SSO,就會清除 LTPA Cookie
- 使 HTTP 階段作業失效
- 從鑑別快取中移除使用者
- 從執行緒中移除使用者主體
- 清除呼叫端和呼叫主體
- 將鑑別類型設為 null
登出之後,存取受保護的 Web 資源需要重新鑑別,getUserPrincipal、getRemoteUser 和 getAuthType 方法會傳回 null。
logout()
如果登出失敗,就會發生 ServletException。
authenticate、login 和 logout 方法的審核事件類型
如果要審核 authenticate、login 和 logout 方法,您必須建立或延伸某些審核事件類型檔案。 這些事件類型不是預設事件類型檔案的一部分。
authenticate、login 和 logout 方法所需要的審核事件類型如下:
isUserInRole
(字串角色名稱):如果將指定的安全角色授與遠端使用者,就會傳回 true。 如果沒有將指定的角色授與遠端使用者,或沒有任何已鑑別的角色,它會傳回 false。
getRemoteUser
如果使用者已鑑別過,getRemoteUser 方法會傳回發出要求之使用者的登入。 如果使用者未鑑別,getRemoteUser 方法會傳回 null。
getAuthType
getAuthType 方法會傳回用來保護 Servlet 的鑑別方法名稱。 如果 Servlet 未受保護,getAuthType 方法會傳回 null。
- FORM
- 當使用表單型鑑別時。
- BASIC
- 當使用基本鑑別時。
- CLIENT_CERT
- 當使用用戶端憑證鑑別時。
- 如果啟用應用程式安全,Servlet 受到保護,則 getRemoteUser 方法會傳回登入,getAuthType 方法會傳回配置的鑑別方法。
- 如果未啟用應用程式安全,這兩個方法都會傳回 null。
資訊中心條款 |
- Servlet 安全方法
- 解决servlet线程安全的方法
- servlet的自动加载+init方法+线程并发安全
- Servlet 线程安全
- servlet线程安全
- servlet线程安全
- servlet线程安全
- Servlet 线程安全
- Servlet线程安全
- servlet的线程安全
- Servlet的线程安全
- Servlet线程安全
- Servlet 线程安全
- Servlet与线程安全
- servlet 线程安全
- Servlet的线程安全
- Servlet线程安全
- Servlet线程安全?不安全?
- Git使用中文教程
- select用法
- jsp和servlet映射关系
- Loadrunner ——Error -- memory violation问题解决
- HDU 2091 空心三角形
- Servlet 安全方法
- 面试算法题目
- 编写自己的Shell解释器
- What is DMA and what does it do?
- 让mongodb的secondary支持读操作
- Android开发,你应该知道的学习资源
- Zigbee通讯之开发篇(基于TI 的Z-Stack)
- 【Struts2五】ValueStack以及ognl表达式一(概述)
- Ubuntu增加虚拟内存(swap分区)