Changed to start searches at the context root if a startSearchContext is
not configured in the svc.settings file. Also, modified the various configuration parsing components to allow for empty settings.
This commit is contained in:
parent
228ffd5164
commit
c5cf7bcc88
@ -133,6 +133,7 @@ public class AuthMechConfig
|
|||||||
// Proceed based on our state
|
// Proceed based on our state
|
||||||
switch (m_state)
|
switch (m_state)
|
||||||
{
|
{
|
||||||
|
case AWAITING_SETTING_ELEMENT_DATA:
|
||||||
case AWAITING_SETTING_ELEMENT_END:
|
case AWAITING_SETTING_ELEMENT_END:
|
||||||
// Advance to the next state
|
// Advance to the next state
|
||||||
m_state = AWAITING_SETTING_ELEMENT_START;
|
m_state = AWAITING_SETTING_ELEMENT_START;
|
||||||
|
@ -138,6 +138,7 @@ public class AuthTokenConfig
|
|||||||
// Proceed based on our state
|
// Proceed based on our state
|
||||||
switch (m_state)
|
switch (m_state)
|
||||||
{
|
{
|
||||||
|
case AWAITING_SETTING_ELEMENT_DATA:
|
||||||
case AWAITING_SETTING_ELEMENT_END:
|
case AWAITING_SETTING_ELEMENT_END:
|
||||||
// Advance to the next state
|
// Advance to the next state
|
||||||
m_state = AWAITING_SETTING_ELEMENT_START;
|
m_state = AWAITING_SETTING_ELEMENT_START;
|
||||||
|
@ -137,6 +137,7 @@ public class IdenTokenConfig
|
|||||||
// Proceed based on our state
|
// Proceed based on our state
|
||||||
switch (m_state)
|
switch (m_state)
|
||||||
{
|
{
|
||||||
|
case AWAITING_SETTING_ELEMENT_DATA:
|
||||||
case AWAITING_SETTING_ELEMENT_END:
|
case AWAITING_SETTING_ELEMENT_END:
|
||||||
// Advance to the next state
|
// Advance to the next state
|
||||||
m_state = AWAITING_SETTING_ELEMENT_START;
|
m_state = AWAITING_SETTING_ELEMENT_START;
|
||||||
|
@ -198,11 +198,22 @@ public class Krb5Authenticate implements AuthMechanism, Serializable
|
|||||||
|
|
||||||
DirContext ctx = new InitialDirContext(env);
|
DirContext ctx = new InitialDirContext(env);
|
||||||
|
|
||||||
// Now search for a user with a matching kerberos principal name
|
// Now search for a user with a matching kerberos principal name.
|
||||||
|
//
|
||||||
|
// Set up a search control so that the search is scoped to the sub-tree
|
||||||
SearchControls controls = new SearchControls();
|
SearchControls controls = new SearchControls();
|
||||||
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
||||||
|
|
||||||
NamingEnumeration answer = ctx.search(m_svcConfig.getSetting(SvcConfig.StartSearchContext),
|
// Obtain the start search context - tbd - this will be removed once the functionality flows into Bandit
|
||||||
|
String searchContext = m_svcConfig.getSetting(SvcConfig.StartSearchContext);
|
||||||
|
if (searchContext == null)
|
||||||
|
{
|
||||||
|
// A start search context was not configured, start from the root.
|
||||||
|
searchContext = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform the search
|
||||||
|
NamingEnumeration answer = ctx.search(searchContext,
|
||||||
"(krbPrincipalName={0})",
|
"(krbPrincipalName={0})",
|
||||||
new String[] {krb5Token.getPrincipalName()},
|
new String[] {krb5Token.getPrincipalName()},
|
||||||
controls);
|
controls);
|
||||||
|
@ -143,11 +143,22 @@ public class PwdAuthenticate implements AuthMechanism, Serializable
|
|||||||
|
|
||||||
DirContext ctx = new InitialDirContext(env);
|
DirContext ctx = new InitialDirContext(env);
|
||||||
|
|
||||||
// Now search for a user with a matching surname
|
// Now search for a user with a matching surname.
|
||||||
|
//
|
||||||
|
// Set up a search control so that the search is scoped to the sub-tree
|
||||||
SearchControls controls = new SearchControls();
|
SearchControls controls = new SearchControls();
|
||||||
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
controls.setSearchScope(SearchControls.SUBTREE_SCOPE);
|
||||||
|
|
||||||
NamingEnumeration answer = ctx.search(m_svcConfig.getSetting(SvcConfig.StartSearchContext),
|
// Obtain the start search context - tbd - this will be removed once the functionality flows into Bandit
|
||||||
|
String searchContext = m_svcConfig.getSetting(SvcConfig.StartSearchContext);
|
||||||
|
if (searchContext == null)
|
||||||
|
{
|
||||||
|
// A start search context was not configured, start from the root.
|
||||||
|
searchContext = "";
|
||||||
|
}
|
||||||
|
|
||||||
|
// Perform the search
|
||||||
|
NamingEnumeration answer = ctx.search(searchContext,
|
||||||
"(cn={0})",
|
"(cn={0})",
|
||||||
new String[] {pwToken.getUsername()},
|
new String[] {pwToken.getUsername()},
|
||||||
controls);
|
controls);
|
||||||
|
@ -146,6 +146,7 @@ public class SvcConfig
|
|||||||
// Proceed based on our state
|
// Proceed based on our state
|
||||||
switch (m_state)
|
switch (m_state)
|
||||||
{
|
{
|
||||||
|
case AWAITING_SETTING_ELEMENT_DATA:
|
||||||
case AWAITING_SETTING_ELEMENT_END:
|
case AWAITING_SETTING_ELEMENT_END:
|
||||||
// Advance to the next state
|
// Advance to the next state
|
||||||
m_state = AWAITING_SETTING_ELEMENT_START;
|
m_state = AWAITING_SETTING_ELEMENT_START;
|
||||||
@ -273,11 +274,6 @@ public class SvcConfig
|
|||||||
System.err.println("SvcConfig.getSetting()- Mandatory setting " + IdentityAbstractionConfigFile + " not set");
|
System.err.println("SvcConfig.getSetting()- Mandatory setting " + IdentityAbstractionConfigFile + " not set");
|
||||||
throw new Exception("Missing mandatory configuration setting");
|
throw new Exception("Missing mandatory configuration setting");
|
||||||
}
|
}
|
||||||
else if (settingName.equals(StartSearchContext) == true)
|
|
||||||
{
|
|
||||||
System.err.println("SvcConfig.getSetting()- Mandatory setting " + StartSearchContext + " not set");
|
|
||||||
throw new Exception("Missing mandatory configuration setting");
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
<?xml version="1.0" encoding="ISO-8859-1"?>
|
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||||||
<settings>
|
<settings>
|
||||||
<IAConfigFile>Replace with path to the Identity Abstraction Realms Configuration File.</IAConfigFile>
|
<IAConfigFile>Replace with path to the Identity Abstraction Realms Configuration File.</IAConfigFile>
|
||||||
<startSearchContext>Replace with the Context from where to start searches, do not specify to start at the root.</startSearchContext>
|
|
||||||
<SessionTokenLifetime>43200</SessionTokenLifetime>
|
<SessionTokenLifetime>43200</SessionTokenLifetime>
|
||||||
</settings>
|
</settings>
|
||||||
|
Loading…
Reference in New Issue
Block a user