Hello, try <property name="anonymousReadOnly" value="false" /> instead of "true", since the anonymous look up is disabled, see the log you've attached: "failed on search oper ation: Anonymous binds have been disabled!"
On 5/4/07, xing luming <[EMAIL PROTECTED]> wrote:
sorry, and this is my deployerConfigContext.xml <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- | deployerConfigContext.xml centralizes into one file some of the declarative configuration that | all CAS deployers will need to modify. | | This file declares some of the Spring-managed JavaBeans that make up a CAS deployment. | The beans declared in this file are instantiated at context initialization time by the Spring | ContextLoaderListener declared in web.xml. It finds this file because this | file is among those declared in the context parameter "contextConfigLocation". | | By far the most common change you will need to make in this file is to change the last bean | declaration to replace the default SimpleTestUsernamePasswordAuthenticationHandler with | one implementing your approach for authenticating usernames and passwords. +--> <beans> <!-- | This bean declares our AuthenticationManager. The CentralAuthenticationService service bean | declared in applicationContext.xml picks up this AuthenticationManager by reference to its id, | "authenticationManager". Most deployers will be able to use the default AuthenticationManager | implementation and so do not need to change the class of this bean. We include the whole | AuthenticationManager here in the userConfigContext.xml so that you can see the things you will | need to change in context. +--> <bean id="authenticationManager" class="org.jasig.cas.authentication.AuthenticationManagerImpl"> <!-- | This is the List of CredentialToPrincipalResolvers that identify what Principal is trying to authenticate. | The AuthenticationManagerImpl considers them in order, finding a CredentialToPrincipalResolver which | supports the presented credentials. | | AuthenticationManagerImpl uses these resolvers for two purposes. First, it uses them to identify the Principal | attempting to authenticate to CAS /login . In the default configuration, it is the DefaultCredentialsToPrincipalResolver | that fills this role. If you are using some other kind of credentials than UsernamePasswordCredentials, you will need to replace | DefaultCredentialsToPrincipalResolver with a CredentialsToPrincipalResolver that supports the credentials you are | using. | | Second, AuthenticationManagerImpl uses these resolvers to identify a service requesting a proxy granting ticket. | In the default configuration, it is the HttpBasedServiceCredentialsToPrincipalResolver that serves this purpose. | You will need to change this list if you are identifying services by something more or other than their callback URL. +--> <property name="credentialsToPrincipalResolvers"> <list> <!-- | UsernamePasswordCredentialsToPrincipalResolver supports the UsernamePasswordCredentials that we use for /login | by default and produces SimplePrincipal instances conveying the username from the credentials. | | If you've changed your LoginFormAction to use credentials other than UsernamePasswordCredentials then you will also | need to change this bean declaration (or add additional declarations) to declare a CredentialsToPrincipalResolver that supports the | Credentials you are using. +--> <bean class="org.jasig.cas.authentication.principal.UsernamePasswordCredentialsToPrincipalResolver" /> <!-- | HttpBasedServiceCredentialsToPrincipalResolver supports HttpBasedCredentials. It supports the CAS 2.0 approach of | authenticating services by SSL callback, extracting the callback URL from the Credentials and representing it as a | SimpleService identified by that callback URL. | | If you are representing services by something more or other than an HTTPS URL whereat they are able to | receive a proxy callback, you will need to change this bean declaration (or add additional declarations). +--> <bean class="org.jasig.cas.authentication.principal.HttpBasedServiceCredentialsToPrincipalResolver" /> </list> </property> <!-- | Whereas CredentialsToPrincipalResolvers identify who it is some Credentials might authenticate, | AuthenticationHandlers actually authenticate credentials. Here we declare the AuthenticationHandlers that | authenticate the Principals that the CredentialsToPrincipalResolvers identified. CAS will try these handlers in turn | until it finds one that both supports the Credentials presented and succeeds in authenticating. +--> <property name="authenticationHandlers"> <list> <bean class="org.jasig.cas.authentication.handler.support.HttpBasedServiceCredentialsAuthenticationHandler" > <property name="httpClient" ref="httpClient" /> </bean> <bean class="org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler" > <property name="filter" value="uid=%u" /> <property name="searchBase" value="ou=system" /> <property name="contextSource" ref="contextSource" /> </bean> </list> </property> </bean> <bean id="contextSource" class="org.jasig.cas.adaptors.ldap.util.AuthenticatedLdapContextSource"> <property name="anonymousReadOnly" value="true" /> <property name="userName" value="uid=admin" /> <property name="password" value="secret" /> <property name="pooled" value="true" /> <property name="urls"> <list> <value>ldap://localhost:10389/</value> <value>ldap://localhost:10389/</value> </list> </property> <property name="baseEnvironmentProperties"> <map> <entry> <key><value>java.naming.security.authentication</value></key> <value>simple</value> </entry> </map> </property> </bean> </beans> From: "xing luming" Reply-To: Yale CAS mailing list To: [email protected] Subject: LDAP: error code 50- failed on search operation Date: Fri, 04 May 2007 11:44:45 +0200 thank you for your help! my cas is working now. but i have another error report. wenn i want to login. is there anything wrong in deployerConfigContext.xml? have i wrote wrong "filter" or "searchBase" or "userName" or anything else? 2007-05-04 09:33:14,428 ERROR [org.apache.catalina.core.ContainerBase.[Catalina] .[localhost].[/cas-web].[cas]] - ion> javax.naming.NoPermissionException: [LDAP: error code 50 - failed on search oper ation: Anonymous binds have been disabled!]; remaining name 'ou=system' at com.sun.jndi.ldap.LdapCtx.mapErrorCode(LdapCtx.java:2993) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2931) at com.sun.jndi.ldap.LdapCtx.processReturnCode(LdapCtx.java:2737) at com.sun.jndi.ldap.LdapCtx.searchAux(LdapCtx.java:1808) at com.sun.jndi.ldap.LdapCtx.c_search(LdapCtx.java:1731) at com.sun.jndi.toolkit.ctx.ComponentDirContext.p_search(ComponentDirCon text.java:368) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCom positeDirContext.java:338) at com.sun.jndi.toolkit.ctx.PartialCompositeDirContext.search(PartialCom positeDirContext.java:321) at javax.naming.directory.InitialDirContext.search(InitialDirContext.jav a:248) at org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler$1.executeSe arch(BindLdapAuthenticationHandler.java:74) at org.springframework.ldap.LdapTemplate.search(LdapTemplate.java:268) at org.springframework.ldap.LdapTemplate.search(LdapTemplate.java:314) at org.jasig.cas.adaptors.ldap.BindLdapAuthenticationHandler.authenticat eUsernamePasswordInternal(BindLdapAuthenticationHandler.java:70) at org.jasig.cas.authentication.handler.support.AbstractUsernamePassword AuthenticationHandler.authenticate(AbstractUsernamePasswordAuthenticationHandler .java:58) at org.jasig......... and here is my system.ldif data. #------------------------------------------------------------------------------- # This file has been generated on 05.03.2007 at 11:15 from localhost:10389 # by Softerra LDAP Browser 2.6 (http://www.ldapbrowser.com) #------------------------------------------------------------------------------- version: 1 dn: ou=system ou: system objectClass: organizationalUnit objectClass: extensibleObject objectClass: top dn: uid=admin,ou=system sn: administrator objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson objectClass: top cn: system administrator userPassword: secret uid: admin displayName: Directory Superuser dn: ou=users,ou=system ou: users objectClass: organizationalUnit objectClass: top dn: ou=groups,ou=system ou: groups objectClass: organizationalUnit objectClass: top dn: cn=administrators,ou=groups,ou=system objectClass: groupOfUniqueNames objectClass: top cn: Administrators uniqueMember: 0.9.2342.19200300.100.1.1=admin,2.5.4.11=system dn: ou=configuration,ou=system ou: configuration objectClass: organizationalUnit objectClass: top dn: ou=partitions,ou=configuration,ou=system ou: partitions objectClass: organizationalUnit objectClass: top dn: ou=services,ou=configuration,ou=system ou: services objectClass: organizationalUnit objectClass: top dn: ou=interceptors,ou=configuration,ou=system ou: interceptors objectClass: organizationalUnit objectClass: top dn: prefNodeName=sysPrefRoot,ou=system objectClass: extensibleObject objectClass: top prefNodeName: sysPrefRoot thank you!! 使用 Live Messenger 与联机的朋友进行交流 _______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas ________________________________ 与世界各地的联机的朋友进行交流,立即下载免费的 Live Messenger _______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
-- Dmitry Kochelaev eVelopers Corporation
_______________________________________________ Yale CAS mailing list [email protected] http://tp.its.yale.edu/mailman/listinfo/cas
