Novell IChains

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@2047 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Andrew Hind
2005-12-19 16:25:33 +00:00
parent 77a19b56f7
commit c1942e3c56
4 changed files with 111 additions and 46 deletions

View File

@@ -194,6 +194,25 @@
</property> </property>
</bean> </bean>
<!-- Simple LDAP example config -->
<!--
<bean id="authenticationComponentImpl" class="org.alfresco.repo.security.authentication.LDAPAuthenticationComponentImpl">
</bean>
-->
<!-- Simple Authentication component that rejects all authentication requests -->
<!-- Use this defintion for Novell IChain integration. -->
<!-- It should never go to the login screen so this is not required -->
<!-- (Enterprise version only)
<!--
<bean id="authenticationComponentImpl" class="org.alfresco.repo.security.authentication.SimpleAcceptOrRejectAllAuthenticationComponentImpl">
</bean>
-->
<!-- The person service. --> <!-- The person service. -->
<bean id="personService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"> <bean id="personService" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
@@ -279,4 +298,38 @@
</property> </property>
</bean> </bean>
<!-- Authentication bootstrap -->
<!-- WIP
<bean id="authenticationBootstrap" class="org.alfresco.repo.security.authentication.AuthenticationBootstrap" init-method="bootstrap">
<property name="config">
<ref bean="authenticationBoostrapConfig"/>
</property>
<property name="authenticationComponent">
<ref bean="authenticationComponentImpl"/>
</property>
<property name="authenticationService">
<ref bean="authenticationService"/>
</property>
<property name="authenticationDao">
<ref bean="alfDaoImpl" />
</property>
</bean>
<bean id="authenticationBoostrapConfigSource" class="org.alfresco.config.source.ClassPathConfigSource">
<constructor-arg>
<list>
<value>alfresco/authentication-bootstrap-config.xml</value>
</list>
</constructor-arg>
</bean>
<bean id="authenticationBoostrapConfig" class="org.alfresco.config.xml.XMLConfigService" init-method="init">
<constructor-arg>
<ref bean="authenticationBoostrapConfigSource"/>
</constructor-arg>
</bean>
-->
</beans> </beans>

View File

@@ -1,46 +0,0 @@
/*
* Copyright (C) 2005 Alfresco, Inc.
*
* Licensed under the Mozilla Public License version 1.1
* with a permitted attribution clause. You may obtain a
* copy of the License at
*
* http://www.alfresco.org/legal/license.txt
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the
* License.
*/
package org.alfresco.repo.search.impl.lucene.analysis;
import java.io.Reader;
import org.apache.lucene.analysis.CharTokenizer;
/**
* @author andyh
*
* TODO To change the template for this generated type comment go to Window -
* Preferences - Java - Code Style - Code Templates
*/
public class PathTokeniser extends CharTokenizer
{
public PathTokeniser(Reader in)
{
super(in);
}
/*
* (non-Javadoc)
*
* @see org.apache.lucene.analysis.CharTokenizer#isTokenChar(char)
*/
protected boolean isTokenChar(char c)
{
return (c != '/') && !Character.isWhitespace(c);
}
}

View File

@@ -0,0 +1,57 @@
/*
* Copyright (C) 2005 Alfresco, Inc.
*
* Licensed under the Mozilla Public License version 1.1
* with a permitted attribution clause. You may obtain a
* copy of the License at
*
* http://www.alfresco.org/legal/license.txt
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific
* language governing permissions and limitations under the
* License.
*/
package org.alfresco.repo.security.authentication;
/**
* This implementation of an AuthenticationComponent can be configured to accept or reject all attempts to login.
*
* This only affects attempts to login using a user name and password.
* Authentication filters etc. could still support authentication but not via user names and passwords.
* For example, where they set the current user using the authentication component.
* Then the current user is set in the security context and asserted to be authenticated.
*
* By default, the implementation rejects all authentication attempts.
*
* @author Andy Hind
*/
public class SimpleAcceptOrRejectAllAuthenticationComponentImpl extends AbstractAuthenticationComponent
{
private boolean accept = false;
public SimpleAcceptOrRejectAllAuthenticationComponentImpl()
{
super();
}
public void setAccept(boolean accept)
{
this.accept = accept;
}
public void authenticate(String userName, char[] password) throws AuthenticationException
{
if(accept)
{
setCurrentUser(userName);
}
else
{
throw new AuthenticationException("Access Denied");
}
}
}

View File

@@ -34,6 +34,7 @@ public class ISO9075Test extends TestCase
public void testEncoding() public void testEncoding()
{ {
assertEquals("MyDocuments", ISO9075.encode("MyDocuments")); assertEquals("MyDocuments", ISO9075.encode("MyDocuments"));
assertEquals("My_x002f_Documents", ISO9075.encode("My/Documents"));
assertEquals("My_Documents", ISO9075.encode("My_Documents")); assertEquals("My_Documents", ISO9075.encode("My_Documents"));
assertEquals("My_x0020_Documents", ISO9075.encode("My Documents")); assertEquals("My_x0020_Documents", ISO9075.encode("My Documents"));
assertEquals("My_x0020Documents", ISO9075.encode("My_x0020Documents")); assertEquals("My_x0020Documents", ISO9075.encode("My_x0020Documents"));