Setting the Oracle WebLogic enforce-valid-basic-auth-credentials Flag to False
The enforce-valid-basic-auth-credentials is a domain-wide setting and this means that if a client application sends an authorisation header using basic-auth, WebLogic will intercept the call and the application user will be presented with a login prompt. If your application contains spring handlers and you do not want WL to stick it's nose into the auth, then you can set this setting to false as it is set to true by default. You can read on to learn a few tricks...
Note: For WebLogic Server versions 9.2 and later, client requests that use HTTP BASIC authentication must pass WebLogic Server authentication, even if access control is not enabled on the target resource, and this is why we want to turn it off.
============================================
Editing config.xml
To set the e enforce-valid-basic-auth-credentials flag, perform the following steps:
1. Add the <enforce-valid-basic-auth-credentials> element to config.xml within the <security-configuration> element.
<enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials>
</security-configuration>
2. Start or restart all of the servers in the domain.
=============================================
Using WebLogic Scripting Tool (WLST)
Using WLST to Check the Value of enforce-valid-basic-auth-credentials
The Administration Console does not display or log the enforce-valid-basic-auth-credentials setting. However, you can use WLST to check the value in a running server. Remember that enforce-valid-basic-auth-credentials is a domain-wide setting.
The WLST session shown below demonstrates how to check the value of the enforce-valid-basic-auth-credentials flag in a sample running server.
Example:
wls:/offline> connect('weblogic','weblogic123','t3://localhost:7002')
Connecting to t3://localhost:7002 with userid weblogic ...
Successfully connected to Admin Server 'AdminServer' that belongs to domain 'base_domain'.
Warning: An insecure protocol was used to connect to the
server. To ensure on-the-wire security, the SSL port or
Admin port should be used instead.
wls:/base_domain/serverConfig> cd('SecurityConfiguration')
wls:/base_domain/serverConfig/SecurityConfiguration> ls()
dr-- base_domain
wls:/base_domain/serverConfig/SecurityConfiguration> cd ('base_domain')
wls:/base_domain/serverConfig/SecurityConfiguration/base_domain> ls()
dr-- DefaultRealm
dr-- Realms
-r-- AnonymousAdminLookupEnabled false
-r-- ClearTextCredentialAccessEnabled false
-r-- CompatibilityConnectionFiltersEnabled false
-r-- ConnectionFilter null
-r-- ConnectionFilterRules null
-r-- ConnectionLoggerEnabled false
-r-- ConsoleFullDelegationEnabled false
-r-- Credential ******
-r-- CredentialEncrypted ******
-r-- CrossDomainSecurityEnabled false
-r-- DowngradeUntrustedPrincipals false
-r-- EnforceStrictURLPattern true
-r-- EnforceValidBasicAuthCredentials true
-r-- ExcludedDomainNames null
-r-- Name base_domain
-r-- NodeManagerPassword ******
-r-- NodeManagerPasswordEncrypted ******
-r-- NodeManagerUsername 2btxdeGF98
-r-- Notes null
-r-- PrincipalEqualsCaseInsensitive false
-r-- PrincipalEqualsCompareDnAndGuid false
-r-- Type SecurityConfiguration
-r-- WebAppFilesCaseInsensitive false
-r-x findDefaultRealm WebLogicMBean :
-r-x findRealm WebLogicMBean : String(realmDisplayName)
-r-x findRealms WebLogicMBean[] :
-r-x freezeCurrentValue Void : String(attributeName)
-r-x generateCredential [B :
-r-x isSet Boolean : String(propertyName)
-r-x unSet Void : String(propertyName)
here are the command I used to edit the setting using
edit()
startEdit()
cd(‘SecurityConfiguration’)
cd('YOUR_DOMAIN')
set(‘EnforceValidBasicAuthCredentials’,'false’)
save()
activate()
Note: This will create an entry in your config.xml of the value false
Lets list the result in WLST
Now we have Disabled the Security Intercept!
WebLogic sometimes intercepts login requests, making it impossible for your app to authenticate correctly. You can now prevent WebLogic from intercepting login requests.
==========================
Here is a script to do this automatically
"""
This script starts an edit session, and modifies the EnforceValidBasicAuthCredentials setting which
equates to the <enforce-valid-basic-auth-credentials>false</enforce-valid-basic-auth-credentials> in config.xml
"""
import sys
from java.lang import System
# Global Variables
usr = "weblogic"
password = "weblogic123"
domain = "base_domain"
url = "t3://localhost:7002"
def setAuth(authSetting):
connect(usr,password,url)
edit()
startEdit()
cd('SecurityConfiguration')
cd(domain)
set('EnforceValidBasicAuthCredentials',authSetting)
save()
activate()
#-----------------------------------------------------------------
# Auth setting
#-----------------------------------------------------------------
def Configure(authSetting):
if authSetting == "":
ScriptUsage()
else:
setAuth(authSetting)
#-----------------------------------------------------------------
# Usage
#-----------------------------------------------------------------
def ScriptUsage():
print "----------------------------------------------------------------------------------------------------------------"
print ""
print " ERROR: Invalid usage, correct usage is:"
print " java weblogic.WLST configureAuth.py {boolean}"
print ""
print " e.g.: java weblogic.WLST configureAuth.py false"
print ""
print "----------------------------------------------------------------------------------------------------------------"
print ""
#-----------------------------------------------------------------
# Main
#-----------------------------------------------------------------
if len(sys.argv) != 2:
ScriptUsage()
else:
Configure(sys.argv[1
分享到:
相关推荐
NULL 博文链接:https://vernonchen163.iteye.com/blog/1995514
总之,定制WebLogic LDAP Authentication Provider是一项涉及深入理解WebLogic安全框架、LDAP协议和Java编程的任务。通过这项工作,我们可以增强企业的安全策略,提高用户管理和认证的效率,同时保持与企业目录服务...
### WebLogic傻瓜式安装教程详解 #### 一、前言 本文档旨在提供一个简单易懂的WebLogic安装教程,适用于初次接触WebLogic或希望快速完成安装的用户。通过本教程,您将学会如何在Linux环境下进行WebLogic的安装与...
WebLogic Server是一款由Oracle公司开发的企业级Java应用服务器,它为构建、部署和管理企业级Java应用程序提供了全面的平台。本文将深入探讨WebLogic的监控、调优、不同版本之间的区别以及启动和关闭脚本的使用。 ...
在IT领域,特别是针对企业级应用服务器的选择与配置,Oracle WebLogic Server无疑占据了重要的位置。WebLogic Server作为一款高性能、可扩展的企业级Java应用服务器,提供了丰富的功能与服务,适用于构建、部署和...
### WebLogic 10.3.3 至 10.3.6 升级指南 #### 一、概述 本指南旨在详细介绍如何从WebLogic Server 10.3.3及其后续版本升级到10.3.6版本的具体步骤。升级过程中需要考虑的因素以及必要的准备措施也将被涵盖。 ###...
Weblogic安装,domain创建,数据连接池配置
7. **安全性**:WebLogic集成了SSL/TLS加密,以及身份验证和授权机制,支持JAAS(Java Authentication and Authorization Service),可与多种安全认证系统集成。 **文档资源** - **J2EE架构开发EJB实例详解+王庆...
在Eclipse集成开发环境中配置WebLogic服务器是一项常见的任务,这对于Java EE应用的开发和测试至关重要。WebLogic Server是由Oracle公司提供的一个强大且广泛使用的Java应用服务器,它支持各种企业级服务,如JSP、...
为了在Eclipse中方便地开发、调试和管理运行在WebLogic上的应用,Eclipse提供了WebLogic插件。 WebLogic插件的安装方法如描述所述,首先需要将下载的WebLogic插件压缩包解压。这个压缩包通常包含了若干个.jar文件,...
### WebLogic详细安装部署流程 #### 一、安装前准备 **1.1 JDK环境配置** - **确保JDK已安装:** 在安装WebLogic之前,必须先安装Java Development Kit (JDK)。WebLogic服务器依赖于JDK来运行。请确保安装的是与...
WebLogic是Oracle公司的一款企业级Java应用服务器,它基于Java EE(Enterprise Edition)平台,用于构建、部署和管理分布式应用程序。WebLogic Server是许多大型企业和组织的核心组件,它提供了多种功能和服务,包括...
Weblogic 10.3 性能优化参数配置 Weblogic 服务器是 Oracle 公司推出的一个基于 Java 的中间件服务器,广泛应用于企业级应用系统中。为了确保 Weblogic 服务器的高性能和稳定运行,需要对其进行合理的配置和优化。...
在AIX操作系统上安装Oracle WebLogic Server是一项技术性较强的任务,需要对AIX系统和WebLogic有深入的理解。本文将详细介绍在AIX环境下如何进行WebLogic的安装、配置以及启动。 首先,AIX(Advanced Interactive ...
WebLogic&Java精华 weblogic&java精华java weblogic 面试题 下面是根据提供的文件信息生成的相关知识点: Java基础 1. Java 基础知识 在 Java 中,加载和启动 Servlet 后,为一个 Servlet 创建了一个还是多个...
### WebLogic 日常巡检与问题排查 #### 引言 WebLogic作为一款广泛使用的Java应用服务器,在企业级应用环境中扮演着重要的角色。为了确保WebLogic服务器能够稳定、高效地运行,定期进行健康检查(巡检)是非常必要...
Weblogic 开机自动启动详解 Weblogic 作为一个流行的 Java 企业级应用服务器,通常需要在服务器启动时自动启动,以确保业务的连续性。然而,在 Windows 系统下,Weblogic 的自动启动却需要进行一些额外的配置。在这...
WebLogic License是Oracle WebLogic Server的关键组成部分,它定义了用户可以如何使用和部署这款企业级应用服务器。在Oracle收购BEA之后,WebLogic License的管理方式发生了一些变化,旨在简化授权流程并提供更大的...
Linux 环境 Weblogic 超详细安装配置文档 Weblogic 的安装 Weblogic 的安装过程可以分为两部分:Linux 下安装过程和 Windows 中安装过程。下面是 Linux 下安装过程的详细步骤: 1. 部署前准备:创建 weblogic ...