⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filterbasedldapusersearchtests.java

📁 acegi构造安全的java系统
💻 JAVA
字号:
/* Copyright 2004, 2005, 2006 Acegi Technology Pty Limited * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * *     http://www.apache.org/licenses/LICENSE-2.0 * * 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.acegisecurity.ldap.search;import org.acegisecurity.ldap.AbstractLdapServerTestCase;import org.acegisecurity.ldap.DefaultInitialDirContextFactory;import org.acegisecurity.userdetails.UsernameNotFoundException;import org.acegisecurity.userdetails.ldap.LdapUserDetails;import org.springframework.dao.IncorrectResultSizeDataAccessException;/** * Tests for FilterBasedLdapUserSearch. * * @author Luke Taylor * @version $Id: FilterBasedLdapUserSearchTests.java 1928 2007-07-24 17:01:36Z luke_t $ */public class FilterBasedLdapUserSearchTests extends AbstractLdapServerTestCase {    //~ Instance fields ================================================================================================    private DefaultInitialDirContextFactory dirCtxFactory;    //~ Constructors ===================================================================================================    public FilterBasedLdapUserSearchTests(String string) {        super(string);    }    public FilterBasedLdapUserSearchTests() {    }    //~ Methods ========================================================================================================    public void onSetUp() {        dirCtxFactory = getInitialCtxFactory();        dirCtxFactory.setManagerDn(MANAGER_USER);        dirCtxFactory.setManagerPassword(MANAGER_PASSWORD);    }    public void testBasicSearch() {        FilterBasedLdapUserSearch locator = new FilterBasedLdapUserSearch("ou=people", "(uid={0})", dirCtxFactory);        locator.setSearchSubtree(false);        locator.setSearchTimeLimit(0);        locator.setDerefLinkFlag(false);        LdapUserDetails bob = locator.searchForUser("bob");        assertEquals("bob", bob.getUsername());        // name is wrong with embedded apacheDS//        assertEquals("uid=bob,ou=people,dc=acegisecurity,dc=org", bob.getDn());    }    // Try some funny business with filters.    public void testExtraFilterPartToExcludeBob() throws Exception {        FilterBasedLdapUserSearch locator = new FilterBasedLdapUserSearch("ou=people",                "(&(cn=*)(!(|(uid={0})(uid=marissa))))", dirCtxFactory);        // Search for bob, get back ben...        LdapUserDetails ben = locator.searchForUser("bob");        String cn = (String) ben.getAttributes().get("cn").get();        assertEquals("Ben Alex", cn);//        assertEquals("uid=ben,ou=people,"+ROOT_DN, ben.getDn());    }    public void testFailsOnMultipleMatches() {        FilterBasedLdapUserSearch locator = new FilterBasedLdapUserSearch("ou=people", "(cn=*)", dirCtxFactory);        try {            locator.searchForUser("Ignored");            fail("Expected exception for multiple search matches.");        } catch (IncorrectResultSizeDataAccessException expected) {}    }    public void testSearchForInvalidUserFails() {        FilterBasedLdapUserSearch locator = new FilterBasedLdapUserSearch("ou=people", "(uid={0})", dirCtxFactory);        try {            locator.searchForUser("Joe");            fail("Expected UsernameNotFoundException for non-existent user.");        } catch (UsernameNotFoundException expected) {}    }    public void testSubTreeSearchSucceeds() {        // Don't set the searchBase, so search from the root.        FilterBasedLdapUserSearch locator = new FilterBasedLdapUserSearch("", "(cn={0})", dirCtxFactory);        locator.setSearchSubtree(true);        LdapUserDetails ben = locator.searchForUser("Ben Alex");        assertEquals("Ben Alex", ben.getUsername());//        assertEquals("uid=ben,ou=people,dc=acegisecurity,dc=org", ben.getDn());    }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -