簡體   English   中英

weblogic 12c 基本身份驗證不提示輸入用戶 ID

[英]weblogic 12c basic authentication not prompting for userid

我正在嘗試為部署在 Weblogic 12c 上的 servlet 配置基本身份驗證。 這是我的 web.xml

<security-constraint>
 <web-resource-collection>
     <web-resource-name>TestServlets</web-resource-name>
     <url-pattern>/ReasonServlet</url-pattern>
 </web-resource-collection>
 <auth-constraint>
    <role-name>TestServiceRole</role-name>
 </auth-constraint>
</security-constraint>

<login-config>
 <auth-method>BASIC</auth-method>
 <realm-name>default</realm-name>
</login-config>

<security-role>
 <role-name>TestServiceRole</role-name>
</security-role>

<servlet>
    <servlet-name>ReasonServlet</servlet-name>
    <servlet-class>com.test.go.track.servlets.ReasonServlet</servlet-class>
  </servlet>
<servlet>
<servlet-mapping>
    <servlet-name>ReasonServlet</servlet-name>
    <url-pattern>/ReasonServlet</url-pattern>
</servlet-mapping>  

這是我的 weblogic.xml:

<security-role-assignment>
  <role-name>TestServiceRole</role-name>
  <principal-name>TestUsers</principal-name>
</security-role-assignment> 

我還做了以下事情:

  1. 創建了一個用戶——test,創建了一個組——TestUsers
  2. 將用戶測試添加到 TestUsers
  3. 創建了一個角色 - TestServiceRole,添加了 TestUsers 組作為角色條件。
  4. 在進行這些更改和應用程序部署后重新啟動 weblogic。

現在,當我嘗試通過瀏覽器訪問我的 servlet 時,我沒有任何彈出窗口來輸入 http 用戶 ID/密碼。 我可以訪問 servlet,就好像沒有配置安全性一樣。

但是,當我通過 SoapUI/java 客戶端測試我的 servlet,並在 HTTP 標頭(授權:Basic)中顯式設置一些錯誤的 http 憑據(base64 編碼的用戶 ID:錯誤密碼)時,weblogic 會拒絕請求,並顯示 401-authorization required 錯誤。

當請求中沒有 http 授權頭時,訪問被授予。

我在 weblogic 中缺少其他一些配置嗎? 無論是否存在 http auth 標頭,我都希望始終進行基本的身份驗證檢查。

請幫忙!! 最近兩天一直在為這個問題苦苦掙扎。。

謝謝!

原來是我這邊的部署問題..我原帖中的配置很好。 感謝那些回答我問題的人!!

您不需要指定領域名稱,它將自動與 Weblogic 提供的任何內容一起使用。

在 weblogic.xml 中使用外部定義而不是主體名稱。

<security-role-assignment>
  <role-name>TestServiceRole</role-name>
  <externally-defined/>
</security-role-assignment> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM