第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

ServletRequest::setAttribute 在 Web 服務(wù)安全方面是否安全?

ServletRequest::setAttribute 在 Web 服務(wù)安全方面是否安全?

米琪卡哇伊 2022-06-30 19:15:46
精簡版javax.servlet.ServletRequest的方法是否setAttribute(<key>, <Object>)僅用作在 Java 代碼中的方法之間傳遞對象的一種手段?長版假設(shè)我有一個javax.servlet.Filter使用 cookie 處理所有登錄用戶身份驗證的實現(xiàn):在 Spring Boot 中@Component@Order(Ordered.HIGHEST_PRECEDENCE)public class AuthFilter implements Filter {    @Override    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) {        Cookie[] cookies = null;        if (request instanceof HttpServletRequest) {            cookies = ((HttpServletRequest) request).getCookies();        }        Optional<User> user = mySessionAuthMethod(cookies);        if (user.isPresent()) {            request.setAttribute("user", user.get());        }        chain.doFilter(request, response);    }}然后,我可以避免在所有 Web API 方法中進(jìn)行手動身份驗證,而只需檢查user屬性。@RestControllera的方法示例:@RequestMapping(value = "/profile")@CrossOrigin(origins = {MyProperties.ORIGIN}, allowCredentials = "true")public ResponseEntity getProfile(HttpServletRequest request, HttpServletResponse response) {    String user = request.getAttribute("user");    if (user != null) {        return myGetProfileResponse(user);    }    return myNotLoggedInResponse();}我的問題是:這種形式的身份驗證安全嗎?我的意思是,ServletRequestJava 中唯一添加和使用的屬性是用于方法之間的通信,還是可以在到達(dá)服務(wù)器之前將它們添加到請求中?這種身份驗證方式是否使用Filter良好的做法來避免重復(fù)代碼?附加說明這樣做的真正原因不僅僅是身份驗證。我還有Filters 需要處理每個請求并將對象傳遞給Controllers。我絕對想要的是,即使是知道系統(tǒng)實現(xiàn)的人也不能偽造這些對象和信息。
查看完整描述

1 回答

?
翻翻過去那場雪

TA貢獻(xiàn)2065條經(jīng)驗 獲得超14個贊

我想我已經(jīng)從文檔中找到了答案getAttribute

可以通過兩種方式設(shè)置屬性。servlet 容器可以設(shè)置屬性以提供有關(guān)請求的自定義信息。例如,對于使用 HTTPS 發(fā)出的請求,該屬性javax.servlet.request.X509Certificate可用于檢索有關(guān)客戶端證書的信息。也可以使用 以編程方式設(shè)置屬性ServletRequest#setAttribute。這允許在調(diào)用之前將信息嵌入到請求中RequestDispatcher。

所以根據(jù)這個(如果沒有丟失信息),傳遞自定義對象應(yīng)該是完全安全的,并且知道它們總是由服務(wù)器創(chuàng)建的。


查看完整回答
反對 回復(fù) 2022-06-30
  • 1 回答
  • 0 關(guān)注
  • 240 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號