Web應用部署在WebLogic中Basic認證無法執行問題及解決

oscar999發表於2020-12-23

問題
在基於Spring Boot的Web應用中使用了Basic認證,在開發環境整合Tomcat伺服器執行正常, 但是部署到WebLogic伺服器之後就無法使用了。

發生場景
一般Web應用的登入使用的是使用者名稱/密碼登入或者域賬號登入較多, Basic認證的使用場景是在對外提供服務介面時的安全驗證,或是訪問外部介面時需要提供的驗證方式。

原因及解析
WebLogic 有自身的Basic認證,應用程式碼中的使用者名稱/密碼會到Weblogic本身中驗證。

解決方法
解決方法有兩種, 要麼禁用WebLogic本身的Basic認證, 要麼配置使用WebLogic的Basic認證。

方法1, 禁用WebLogic的Basic認證

完全使用應用本身的認證程式碼,具體解決就是在 Domain 目錄下修改config.xml檔案。
linux 下的目錄類似:
/weblogic/Oracle_Home/user_projects/domains/your_domain/config
<security-configuration> 元素內的最下方加入以下配置:

<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
修改頁面如下:

相關文章