<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
		>
<channel>
	<title>Comments on: WebLogic 10 Active Directory Authentication Provider Bug</title>
	<atom:link href="http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/feed/" rel="self" type="application/rss+xml" />
	<link>http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/</link>
	<description>Covering J2EE Security and WebLogic Topics</description>
	<lastBuildDate>Tue, 13 Apr 2010 01:53:49 -0600</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Sen</title>
		<link>http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/comment-page-1/#comment-14278</link>
		<dc:creator>Sen</dc:creator>
		<pubDate>Thu, 04 Mar 2010 10:41:17 +0000</pubDate>
		<guid isPermaLink="false">http://monduke.com/?p=57#comment-14278</guid>
		<description>Hi Kris, Mike,

I am facing the same problem. (Waiting for notification on: netscape.ldap.LDAPSearchListener@2899caa[fat lock])

It will be really helpful if you could give any inputs on solving this.

Many Thanks,
Sen</description>
		<content:encoded><![CDATA[<p>Hi Kris, Mike,</p>
<p>I am facing the same problem. (Waiting for notification on: netscape.ldap.LDAPSearchListener@2899caa[fat lock])</p>
<p>It will be really helpful if you could give any inputs on solving this.</p>
<p>Many Thanks,<br />
Sen</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Fleming</title>
		<link>http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/comment-page-1/#comment-14157</link>
		<dc:creator>Mike Fleming</dc:creator>
		<pubDate>Thu, 26 Mar 2009 00:39:45 +0000</pubDate>
		<guid isPermaLink="false">http://monduke.com/?p=57#comment-14157</guid>
		<description>Kris,

Sorry for the response delay -- I just got back from vacation. Unfortunately, I don&#039;t have a solution for the problem you&#039;re seeing. Sorry!</description>
		<content:encoded><![CDATA[<p>Kris,</p>
<p>Sorry for the response delay &#8212; I just got back from vacation. Unfortunately, I don&#8217;t have a solution for the problem you&#8217;re seeing. Sorry!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kris</title>
		<link>http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/comment-page-1/#comment-14155</link>
		<dc:creator>Kris</dc:creator>
		<pubDate>Wed, 18 Mar 2009 14:37:40 +0000</pubDate>
		<guid isPermaLink="false">http://monduke.com/?p=57#comment-14155</guid>
		<description>Hi Mike,

Not sure if this is related to the bug described in the blog - but we are getting prod issues and the server got buried because of stuck threads. I am attaching the stack trace. Any help would be appreciated. Thank you.

&lt;blockquote&gt;
Thread-1533 &quot;[STUCK] ExecuteThread: &#039;17&#039; for queue: &#039;weblogic.kernel.Default (self-tuning)&#039;&quot;  {
    -- Waiting for notification on: netscape.ldap.LDAPResponseListener@ffffffff80fe87c1[fat lock]
    java.lang.Object.wait(Object.java:474)
    netscape.ldap.LDAPMessageQueue.waitForMessage(Unknown Source)
    netscape.ldap.LDAPMessageQueue.waitFirstMessage(Unknown Source)
    netscape.ldap.LDAPConnection.sendRequest(Unknown Source)
    ^-- Holding lock: netscape.ldap.LDAPConnection@ffffffff80fe7aad[thin lock]
    netscape.ldap.LDAPConnection.simpleBind(Unknown Source)
    netscape.ldap.LDAPConnection.authenticate(Unknown Source)
    netscape.ldap.LDAPConnection.authenticate(Unknown Source)
    netscape.ldap.LDAPConnection.bind(Unknown Source)
    weblogic.security.providers.authentication.LDAPAtnDelegate$LDAPFactory.newInstance(LDAPAtnDelegate.java:3687)
    weblogic.security.utils.Pool.newInstance(Pool.java:37)
    weblogic.security.utils.Pool.getInstance(Pool.java:29)
    weblogic.security.providers.authentication.LDAPAtnDelegate.getConnection(LDAPAtnDelegate.java:3142)
    weblogic.security.providers.authentication.LDAPAtnDelegate.userExists(LDAPAtnDelegate.java:2260)
    weblogic.security.providers.authentication.LDAPAtnLoginModuleImpl.login(LDAPAtnLoginModuleImpl.java:136)
    com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)
    com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:101)
    sun.reflect.GeneratedMethodAccessor9101.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:570)
    javax.security.auth.login.LoginContext.invoke(LoginContext.java:720)
    javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)
    javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)
    javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)
    javax.security.auth.login.LoginContext.login(LoginContext.java:566)
    com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:71)
    sun.reflect.GeneratedMethodAccessor1066.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:570)
    com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
    $Proxy11.login(Unknown Source)
    weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(Unknown Source)
    com.bea.common.security.internal.service.IdentityAssertionCallbackServiceImpl.assertIdentity(IdentityAssertionCallbackServiceImpl.java:96)
    sun.reflect.GeneratedMethodAccessor702.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:570)
    com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
    $Proxy14.assertIdentity(Unknown Source)
    com.bea.common.security.internal.service.IdentityAssertionServiceImpl.assertIdentity(IdentityAssertionServiceImpl.java:78)
    sun.reflect.GeneratedMethodAccessor699.invoke(Unknown Source)
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    java.lang.reflect.Method.invoke(Method.java:570)
    com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)
    $Proxy35.assertIdentity(Unknown Source)
    weblogic.security.service.PrincipalAuthenticator.assertIdentity(Unknown Source)
    weblogic.servlet.security.internal.CertSecurityModule.assertIdentity(CertSecurityModule.java:103)
    weblogic.servlet.security.internal.CertSecurityModule.checkUserPerm(CertSecurityModule.java:65)
    weblogic.servlet.security.internal.SecurityModule.checkAccess(SecurityModule.java:107)
    weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:57)
    weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2076)
    weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1998)
    weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1331)
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:197)
    weblogic.work.ExecuteThread.run(ExecuteThread.java:164)
&lt;/blockquote&gt;

</description>
		<content:encoded><![CDATA[<p>Hi Mike,</p>
<p>Not sure if this is related to the bug described in the blog &#8211; but we are getting prod issues and the server got buried because of stuck threads. I am attaching the stack trace. Any help would be appreciated. Thank you.</p>
<blockquote><p>
Thread-1533 &#8220;[STUCK] ExecuteThread: &#8216;17&#8242; for queue: &#8216;weblogic.kernel.Default (self-tuning)&#8217;&#8221;  {<br />
    &#8212; Waiting for notification on: netscape.ldap.LDAPResponseListener@ffffffff80fe87c1[fat lock]<br />
    java.lang.Object.wait(Object.java:474)<br />
    netscape.ldap.LDAPMessageQueue.waitForMessage(Unknown Source)<br />
    netscape.ldap.LDAPMessageQueue.waitFirstMessage(Unknown Source)<br />
    netscape.ldap.LDAPConnection.sendRequest(Unknown Source)<br />
    ^&#8211; Holding lock: netscape.ldap.LDAPConnection@ffffffff80fe7aad[thin lock]<br />
    netscape.ldap.LDAPConnection.simpleBind(Unknown Source)<br />
    netscape.ldap.LDAPConnection.authenticate(Unknown Source)<br />
    netscape.ldap.LDAPConnection.authenticate(Unknown Source)<br />
    netscape.ldap.LDAPConnection.bind(Unknown Source)<br />
    weblogic.security.providers.authentication.LDAPAtnDelegate$LDAPFactory.newInstance(LDAPAtnDelegate.java:3687)<br />
    weblogic.security.utils.Pool.newInstance(Pool.java:37)<br />
    weblogic.security.utils.Pool.getInstance(Pool.java:29)<br />
    weblogic.security.providers.authentication.LDAPAtnDelegate.getConnection(LDAPAtnDelegate.java:3142)<br />
    weblogic.security.providers.authentication.LDAPAtnDelegate.userExists(LDAPAtnDelegate.java:2260)<br />
    weblogic.security.providers.authentication.LDAPAtnLoginModuleImpl.login(LDAPAtnLoginModuleImpl.java:136)<br />
    com.bea.common.security.internal.service.LoginModuleWrapper$1.run(LoginModuleWrapper.java:110)<br />
    com.bea.common.security.internal.service.LoginModuleWrapper.login(LoginModuleWrapper.java:101)<br />
    sun.reflect.GeneratedMethodAccessor9101.invoke(Unknown Source)<br />
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
    java.lang.reflect.Method.invoke(Method.java:570)<br />
    javax.security.auth.login.LoginContext.invoke(LoginContext.java:720)<br />
    javax.security.auth.login.LoginContext.access$000(LoginContext.java:186)<br />
    javax.security.auth.login.LoginContext$4.run(LoginContext.java:683)<br />
    javax.security.auth.login.LoginContext.invokePriv(LoginContext.java:680)<br />
    javax.security.auth.login.LoginContext.login(LoginContext.java:566)<br />
    com.bea.common.security.internal.service.JAASLoginServiceImpl.login(JAASLoginServiceImpl.java:71)<br />
    sun.reflect.GeneratedMethodAccessor1066.invoke(Unknown Source)<br />
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
    java.lang.reflect.Method.invoke(Method.java:570)<br />
    com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)<br />
    $Proxy11.login(Unknown Source)<br />
    weblogic.security.service.internal.WLSJAASLoginServiceImpl$ServiceImpl.login(Unknown Source)<br />
    com.bea.common.security.internal.service.IdentityAssertionCallbackServiceImpl.assertIdentity(IdentityAssertionCallbackServiceImpl.java:96)<br />
    sun.reflect.GeneratedMethodAccessor702.invoke(Unknown Source)<br />
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
    java.lang.reflect.Method.invoke(Method.java:570)<br />
    com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)<br />
    $Proxy14.assertIdentity(Unknown Source)<br />
    com.bea.common.security.internal.service.IdentityAssertionServiceImpl.assertIdentity(IdentityAssertionServiceImpl.java:78)<br />
    sun.reflect.GeneratedMethodAccessor699.invoke(Unknown Source)<br />
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />
    java.lang.reflect.Method.invoke(Method.java:570)<br />
    com.bea.common.security.internal.utils.Delegator$ProxyInvocationHandler.invoke(Delegator.java:57)<br />
    $Proxy35.assertIdentity(Unknown Source)<br />
    weblogic.security.service.PrincipalAuthenticator.assertIdentity(Unknown Source)<br />
    weblogic.servlet.security.internal.CertSecurityModule.assertIdentity(CertSecurityModule.java:103)<br />
    weblogic.servlet.security.internal.CertSecurityModule.checkUserPerm(CertSecurityModule.java:65)<br />
    weblogic.servlet.security.internal.SecurityModule.checkAccess(SecurityModule.java:107)<br />
    weblogic.servlet.security.internal.ServletSecurityManager.checkAccess(ServletSecurityManager.java:57)<br />
    weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2076)<br />
    weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:1998)<br />
    weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1331)<br />
    weblogic.work.ExecuteThread.execute(ExecuteThread.java:197)<br />
    weblogic.work.ExecuteThread.run(ExecuteThread.java:164)
</p></blockquote>
]]></content:encoded>
	</item>
	<item>
		<title>By: Mike Fleming</title>
		<link>http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/comment-page-1/#comment-13965</link>
		<dc:creator>Mike Fleming</dc:creator>
		<pubDate>Mon, 10 Nov 2008 01:40:53 +0000</pubDate>
		<guid isPermaLink="false">http://monduke.com/?p=57#comment-13965</guid>
		<description>Sharon,

As I understand it, the security providers are started before JNDI is available. That makes sense since JNDI can have security policies against it but it makes it harder to do what you want to do.

I suppose you could get around it by catching that exception and trying again until you can get the InitialContext.

One thing to watch out for is infinite loops since BEA/ORACLE recommends not accessing resources that can have security constraints.

Good Luck!</description>
		<content:encoded><![CDATA[<p>Sharon,</p>
<p>As I understand it, the security providers are started before JNDI is available. That makes sense since JNDI can have security policies against it but it makes it harder to do what you want to do.</p>
<p>I suppose you could get around it by catching that exception and trying again until you can get the InitialContext.</p>
<p>One thing to watch out for is infinite loops since BEA/ORACLE recommends not accessing resources that can have security constraints.</p>
<p>Good Luck!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: sharon</title>
		<link>http://monduke.com/2008/07/27/bug-in-the-weblogic-10-active-directory-authentication-provider/comment-page-1/#comment-13964</link>
		<dc:creator>sharon</dc:creator>
		<pubDate>Sun, 09 Nov 2008 01:52:14 +0000</pubDate>
		<guid isPermaLink="false">http://monduke.com/?p=57#comment-13964</guid>
		<description>I have a question on weblogic security. I have a custom authentication provider (wls816). In the login module I need to get the datasource and connect the db. I used new Initia lContext();When I start the server, I got error:
javax.naming.NoInitialContextException: Need to specify class name in environmen
t or system property, or as an applet parameter, or in an application resource f
ile:  java.naming.factory.initial
Can&#039;t the security provider access the weblogic context? Thanks</description>
		<content:encoded><![CDATA[<p>I have a question on weblogic security. I have a custom authentication provider (wls816). In the login module I need to get the datasource and connect the db. I used new Initia lContext();When I start the server, I got error:<br />
javax.naming.NoInitialContextException: Need to specify class name in environmen<br />
t or system property, or as an applet parameter, or in an application resource f<br />
ile:  java.naming.factory.initial<br />
Can&#8217;t the security provider access the weblogic context? Thanks</p>
]]></content:encoded>
	</item>
</channel>
</rss>
