fix #1704 remove netbios name
This commit is contained in:
parent
cd16bf831c
commit
5b1652da0a
5 changed files with 33 additions and 13 deletions
|
@ -376,7 +376,11 @@ public class SystemHelper {
|
|||
}
|
||||
|
||||
protected String createSearchRole(final String type, final String name) {
|
||||
return type + name;
|
||||
final String value = type + ComponentUtil.getFessConfig().getCanonicalLdapName(name);
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("Search Role: " + type + ":" + name + "=" + value);
|
||||
}
|
||||
return value;
|
||||
}
|
||||
|
||||
public void reloadConfiguration() {
|
||||
|
|
|
@ -240,17 +240,11 @@ public class LdapManager {
|
|||
start += 3;
|
||||
|
||||
int end = entryDn.indexOf(',', start);
|
||||
String name;
|
||||
if (end == -1) {
|
||||
name = entryDn.substring(start);
|
||||
return entryDn.substring(start);
|
||||
} else {
|
||||
name = entryDn.substring(start, end);
|
||||
return entryDn.substring(start, end);
|
||||
}
|
||||
name = fessConfig.getCanonicalLdapName(name);
|
||||
if (logger.isDebugEnabled()) {
|
||||
logger.debug("name: " + name);
|
||||
}
|
||||
return name;
|
||||
}
|
||||
|
||||
protected void setAttributeValue(final List<SearchResult> result, final String name, final Consumer<Object> consumer) {
|
||||
|
|
|
@ -65,6 +65,11 @@ public class PermissionHelperTest extends UnitFessTestCase {
|
|||
public String getRoleSearchRolePrefix() {
|
||||
return "";
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean isLdapIgnoreNetbiosName() {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
try {
|
||||
assertEquals("guest", permissionHelper.encode("{role}guest"));
|
||||
|
|
|
@ -15,7 +15,9 @@
|
|||
*/
|
||||
package org.codelibs.fess.helper;
|
||||
|
||||
import org.codelibs.fess.mylasta.direction.FessConfig;
|
||||
import org.codelibs.fess.unit.UnitFessTestCase;
|
||||
import org.codelibs.fess.util.ComponentUtil;
|
||||
|
||||
public class SystemHelperTest extends UnitFessTestCase {
|
||||
|
||||
|
@ -87,4 +89,19 @@ public class SystemHelperTest extends UnitFessTestCase {
|
|||
assertEquals("zh_TW", systemHelper.normalizeLang(value));
|
||||
}
|
||||
|
||||
public void test_createSearchRole() {
|
||||
ComponentUtil.setFessConfig(new FessConfig.SimpleImpl() {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
public boolean isLdapIgnoreNetbiosName() {
|
||||
return true;
|
||||
}
|
||||
});
|
||||
|
||||
assertEquals("", systemHelper.createSearchRole("", ""));
|
||||
assertEquals("aaa", systemHelper.createSearchRole("", "aaa"));
|
||||
assertEquals("bbb", systemHelper.createSearchRole("", "aaa\\bbb"));
|
||||
assertEquals("bbb\\ccc", systemHelper.createSearchRole("", "aaa\\bbb\\ccc"));
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
@ -34,10 +34,10 @@ public class LdapManagerTest extends UnitFessTestCase {
|
|||
assertEquals("aaa", ldapManager.getSearchRoleName("cn=aaa"));
|
||||
assertEquals("aaa", ldapManager.getSearchRoleName("CN=aaa"));
|
||||
assertEquals("aaa", ldapManager.getSearchRoleName("cn=aaa,du=test"));
|
||||
assertEquals("bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb"));
|
||||
assertEquals("bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb,du=test"));
|
||||
assertEquals("bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc"));
|
||||
assertEquals("bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc,du=test\""));
|
||||
assertEquals("aaa\\bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb"));
|
||||
assertEquals("aaa\\bbb", ldapManager.getSearchRoleName("cn=aaa\\bbb,du=test"));
|
||||
assertEquals("aaa\\bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc"));
|
||||
assertEquals("aaa\\bbb\\ccc", ldapManager.getSearchRoleName("cn=aaa\\bbb\\ccc,du=test\""));
|
||||
|
||||
assertNull(ldapManager.getSearchRoleName(null));
|
||||
assertNull(ldapManager.getSearchRoleName(""));
|
||||
|
|
Loading…
Add table
Reference in a new issue