Commit 395296ce by Hemanth Yamijala

ATLAS-820 Kerberized env: Authentication failing (nixonrodrigues via yhemanth)

parent b66f0572
...@@ -562,7 +562,7 @@ public class HiveMetaStoreBridge { ...@@ -562,7 +562,7 @@ public class HiveMetaStoreBridge {
String atlasEndpoint = atlasConf.getString(ATLAS_ENDPOINT, DEFAULT_DGI_URL); String atlasEndpoint = atlasConf.getString(ATLAS_ENDPOINT, DEFAULT_DGI_URL);
AtlasClient atlasClient; AtlasClient atlasClient;
if (!AuthenticationUtil.isKerberosAuthicationEnabled()) { if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
String[] basicAuthUsernamePassword = AuthenticationUtil.getBasicAuthenticationInput(); String[] basicAuthUsernamePassword = AuthenticationUtil.getBasicAuthenticationInput();
atlasClient = new AtlasClient(new String[]{atlasEndpoint}, basicAuthUsernamePassword); atlasClient = new AtlasClient(new String[]{atlasEndpoint}, basicAuthUsernamePassword);
} else { } else {
......
...@@ -64,7 +64,7 @@ public class AtlasAdminClient { ...@@ -64,7 +64,7 @@ public class AtlasAdminClient {
AtlasConstants.ATLAS_REST_ADDRESS_KEY, AtlasConstants.DEFAULT_ATLAS_REST_ADDRESS); AtlasConstants.ATLAS_REST_ADDRESS_KEY, AtlasConstants.DEFAULT_ATLAS_REST_ADDRESS);
AtlasClient atlasClient = null; AtlasClient atlasClient = null;
if (!AuthenticationUtil.isKerberosAuthicationEnabled()) { if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
String[] basicAuthUsernamePassword = AuthenticationUtil.getBasicAuthenticationInput(); String[] basicAuthUsernamePassword = AuthenticationUtil.getBasicAuthenticationInput();
atlasClient = new AtlasClient(new String[]{atlasServerUri}, basicAuthUsernamePassword); atlasClient = new AtlasClient(new String[]{atlasServerUri}, basicAuthUsernamePassword);
} else { } else {
......
...@@ -189,7 +189,7 @@ public class AtlasClient { ...@@ -189,7 +189,7 @@ public class AtlasClient {
configuration = getClientProperties(); configuration = getClientProperties();
Client client = getClient(configuration, ugi, doAsUser); Client client = getClient(configuration, ugi, doAsUser);
if ((!AuthenticationUtil.isKerberosAuthicationEnabled()) && basicAuthUser!=null && basicAuthPassword!=null) { if ((!AuthenticationUtil.isKerberosAuthenticationEnabled()) && basicAuthUser!=null && basicAuthPassword!=null) {
final HTTPBasicAuthFilter authFilter = new HTTPBasicAuthFilter(basicAuthUser, basicAuthPassword); final HTTPBasicAuthFilter authFilter = new HTTPBasicAuthFilter(basicAuthUser, basicAuthPassword);
client.addFilter(authFilter); client.addFilter(authFilter);
} }
...@@ -221,7 +221,7 @@ public class AtlasClient { ...@@ -221,7 +221,7 @@ public class AtlasClient {
URLConnectionClientHandler handler = null; URLConnectionClientHandler handler = null;
if ((!AuthenticationUtil.isKerberosAuthicationEnabled()) && basicAuthUser!=null && basicAuthPassword!=null) { if ((!AuthenticationUtil.isKerberosAuthenticationEnabled()) && basicAuthUser!=null && basicAuthPassword!=null) {
handler = new URLConnectionClientHandler(); handler = new URLConnectionClientHandler();
} else { } else {
handler = handler =
......
...@@ -35,22 +35,21 @@ public final class AuthenticationUtil { ...@@ -35,22 +35,21 @@ public final class AuthenticationUtil {
private AuthenticationUtil() { private AuthenticationUtil() {
} }
public static boolean isKerberosAuthicationEnabled() { public static boolean isKerberosAuthenticationEnabled() {
boolean isKerberosAuthicationEnabled = false; boolean isKerberosAuthenticationEnabled = false;
try { try {
Configuration atlasConf = ApplicationProperties.get(); Configuration atlasConf = ApplicationProperties.get();
if ("true".equalsIgnoreCase(atlasConf.getString("atlas.http.authentication.enabled")) if ("true".equalsIgnoreCase(atlasConf.getString("atlas.authentication.method.kerberos"))) {
&& "kerberos".equalsIgnoreCase(atlasConf.getString("atlas.http.authentication.type"))) { isKerberosAuthenticationEnabled = true;
isKerberosAuthicationEnabled = true;
} else { } else {
isKerberosAuthicationEnabled = false; isKerberosAuthenticationEnabled = false;
} }
} catch (AtlasException e) { } catch (AtlasException e) {
LOG.error("Error while isKerberosAuthicationEnabled ", e); LOG.error("Error while isKerberosAuthenticationEnabled ", e);
} }
return isKerberosAuthicationEnabled; return isKerberosAuthenticationEnabled;
} }
public static String[] getBasicAuthenticationInput() { public static String[] getBasicAuthenticationInput() {
......
...@@ -63,10 +63,13 @@ atlas.enableTLS=false ...@@ -63,10 +63,13 @@ atlas.enableTLS=false
# Authentication config # Authentication config
# enabled: true or false atlas.authentication.method.kerberos=false
atlas.http.authentication.enabled=false atlas.authentication.method.ldap=false
# type: simple or kerberos atlas.authentication.method.file=true
atlas.http.authentication.type=simple
atlas.authentication.method.ldap.type=LDAP
atlas.authentication.method.ldap.url=
atlas.authentication.method.file.filename=${sys:atlas.home}/conf/users-credentials.properties
######### JAAS Configuration ######## ######### JAAS Configuration ########
...@@ -102,11 +105,6 @@ atlas.server.ha.enabled=false ...@@ -102,11 +105,6 @@ atlas.server.ha.enabled=false
#atlas.server.ha.zookeeper.auth=<scheme>:<authinfo> #atlas.server.ha.zookeeper.auth=<scheme>:<authinfo>
#### atlas.login.method {FILE,LDAP,AD} ####
atlas.login.method=FILE
### File path of users-credentials
atlas.login.credentials.file=${sys:atlas.home}/conf/users-credentials.properties
#########POLICY FILE PATH ######### #########POLICY FILE PATH #########
atlas.auth.policy.file=${sys:atlas.home}/conf/policy-store.txt atlas.auth.policy.file=${sys:atlas.home}/conf/policy-store.txt
......
...@@ -5,3 +5,4 @@ ...@@ -5,3 +5,4 @@
adminPolicy;;admin:rwud;;ROLE_ADMIN:rwud;;type:*,entity:*,operation:*,taxonomy:*,term:* adminPolicy;;admin:rwud;;ROLE_ADMIN:rwud;;type:*,entity:*,operation:*,taxonomy:*,term:*
dataScientistPolicy;;;;DATA_SCIENTIST:r;;type:*,entity:*,taxonomy:*,term:* dataScientistPolicy;;;;DATA_SCIENTIST:r;;type:*,entity:*,taxonomy:*,term:*
dataStewardPolicy;;;;DATA_STEWARD:rwu;;type:*,entity:*,taxonomy:*,term:* dataStewardPolicy;;;;DATA_STEWARD:rwu;;type:*,entity:*,taxonomy:*,term:*
hadoopPolicy;;;;hadoop:rwud;;type:*,entity:*,operation:*,taxonomy:*,term:*
...@@ -22,6 +22,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset ...@@ -22,6 +22,7 @@ ATLAS-409 Atlas will not import avro tables with schema read from a file (dosset
ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags) ATLAS-379 Create sqoop and falcon metadata addons (venkatnrangan,bvellanki,sowmyaramesh via shwethags)
ALL CHANGES: ALL CHANGES:
ATLAS-820 Kerberized env: Authentication failing (nixonrodrigues via yhemanth)
ATLAS-852 Change Default landing page to taxonomy (kevalbhatt18 via yhemanth) ATLAS-852 Change Default landing page to taxonomy (kevalbhatt18 via yhemanth)
ATLAS-858 Unable to delete terms via API which are 3 or more levels deep (jspeidel via sumasai) ATLAS-858 Unable to delete terms via API which are 3 or more levels deep (jspeidel via sumasai)
ATLAS-848 Atlas UI: Search term box in left navigation is not auto refresh.(Kalyanikashikar via sumasai) ATLAS-848 Atlas UI: Search term box in left navigation is not auto refresh.(Kalyanikashikar via sumasai)
......
...@@ -72,7 +72,7 @@ public class QuickStart { ...@@ -72,7 +72,7 @@ public class QuickStart {
public static void main(String[] args) throws Exception { public static void main(String[] args) throws Exception {
String[] basicAuthUsernamePassword = null; String[] basicAuthUsernamePassword = null;
if (!AuthenticationUtil.isKerberosAuthicationEnabled()) { if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
basicAuthUsernamePassword = AuthenticationUtil.getBasicAuthenticationInput(); basicAuthUsernamePassword = AuthenticationUtil.getBasicAuthenticationInput();
} }
...@@ -84,7 +84,7 @@ public class QuickStart { ...@@ -84,7 +84,7 @@ public class QuickStart {
String baseUrl = getServerUrl(args); String baseUrl = getServerUrl(args);
QuickStart quickStart; QuickStart quickStart;
if (!AuthenticationUtil.isKerberosAuthicationEnabled()) { if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
quickStart = new QuickStart(baseUrl, basicAuthUsernamePassword); quickStart = new QuickStart(baseUrl, basicAuthUsernamePassword);
} else { } else {
quickStart = new QuickStart(baseUrl); quickStart = new QuickStart(baseUrl);
......
...@@ -58,7 +58,7 @@ public class UserDao { ...@@ -58,7 +58,7 @@ public class UserDao {
Configuration configuration = ApplicationProperties.get(); Configuration configuration = ApplicationProperties.get();
PROPERTY_FILE_PATH = configuration PROPERTY_FILE_PATH = configuration
.getString("atlas.login.credentials.file"); .getString("atlas.authentication.method.file.filename");
if (PROPERTY_FILE_PATH != null && !"".equals(PROPERTY_FILE_PATH)) { if (PROPERTY_FILE_PATH != null && !"".equals(PROPERTY_FILE_PATH)) {
userLogins = new Properties(); userLogins = new Properties();
userLogins.load(new FileInputStream(PROPERTY_FILE_PATH)); userLogins.load(new FileInputStream(PROPERTY_FILE_PATH));
......
/**
* 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. See accompanying LICENSE file.
*/
package org.apache.atlas.web.filters;
import javax.servlet.RequestDispatcher;
import javax.servlet.Servlet;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Enumeration;
import java.util.Set;
import javax.servlet.Filter;
import javax.servlet.FilterRegistration;
import javax.servlet.ServletRegistration;
import javax.servlet.SessionCookieConfig;
import javax.servlet.SessionTrackingMode;
import javax.servlet.FilterRegistration.Dynamic;
import javax.servlet.descriptor.JspConfigDescriptor;
import java.util.EventListener;
import java.util.Map;
/**
*/
public class NullServletContext implements ServletContext {
public void setSessionTrackingModes(
Set<SessionTrackingMode> sessionTrackingModes) {
}
public boolean setInitParameter(String name, String value) {
return false;
}
public void setAttribute(String name, Object object) {
}
public void removeAttribute(String name) {
}
public void log(String message, Throwable throwable) {
}
public void log(Exception exception, String msg) {
}
public void log(String msg) {
}
public String getVirtualServerName() {
return null;
}
public SessionCookieConfig getSessionCookieConfig() {
return null;
}
public Enumeration<Servlet> getServlets() {
return null;
}
public Map<String, ? extends ServletRegistration> getServletRegistrations() {
return null;
}
public ServletRegistration getServletRegistration(String servletName) {
return null;
}
public Enumeration<String> getServletNames() {
return null;
}
public String getServletContextName() {
return null;
}
public Servlet getServlet(String name) throws ServletException {
return null;
}
public String getServerInfo() {
return null;
}
public Set<String> getResourcePaths(String path) {
return null;
}
public InputStream getResourceAsStream(String path) {
return null;
}
public URL getResource(String path) throws MalformedURLException {
return null;
}
public RequestDispatcher getRequestDispatcher(String path) {
return null;
}
public String getRealPath(String path) {
return null;
}
public RequestDispatcher getNamedDispatcher(String name) {
return null;
}
public int getMinorVersion() {
return 0;
}
public String getMimeType(String file) {
return null;
}
public int getMajorVersion() {
return 0;
}
public JspConfigDescriptor getJspConfigDescriptor() {
return null;
}
public Enumeration<String> getInitParameterNames() {
return null;
}
public String getInitParameter(String name) {
return null;
}
public Map<String, ? extends FilterRegistration> getFilterRegistrations() {
return null;
}
public FilterRegistration getFilterRegistration(String filterName) {
return null;
}
public Set<SessionTrackingMode> getEffectiveSessionTrackingModes() {
return null;
}
public int getEffectiveMinorVersion() {
return 0;
}
public int getEffectiveMajorVersion() {
return 0;
}
public Set<SessionTrackingMode> getDefaultSessionTrackingModes() {
return null;
}
public String getContextPath() {
return null;
}
public ServletContext getContext(String uripath) {
return null;
}
public ClassLoader getClassLoader() {
return null;
}
public Enumeration<String> getAttributeNames() {
return null;
}
public Object getAttribute(String name) {
return null;
}
public void declareRoles(String... roleNames) {
}
public <T extends Servlet> T createServlet(Class<T> clazz)
throws ServletException {
return null;
}
public <T extends EventListener> T createListener(Class<T> clazz)
throws ServletException {
return null;
}
public <T extends Filter> T createFilter(Class<T> clazz)
throws ServletException {
return null;
}
public javax.servlet.ServletRegistration.Dynamic addServlet(
String servletName, Class<? extends Servlet> servletClass) {
return null;
}
public javax.servlet.ServletRegistration.Dynamic addServlet(
String servletName, Servlet servlet) {
return null;
}
public javax.servlet.ServletRegistration.Dynamic addServlet(
String servletName, String className) {
return null;
}
public void addListener(Class<? extends EventListener> listenerClass) {
}
public <T extends EventListener> void addListener(T t) {
}
public void addListener(String className) {
}
public Dynamic addFilter(String filterName,
Class<? extends Filter> filterClass) {
return null;
}
public Dynamic addFilter(String filterName, Filter filter) {
return null;
}
public Dynamic addFilter(String filterName, String className) {
return null;
}
}
...@@ -95,11 +95,6 @@ public class GuiceServletConfig extends GuiceServletContextListener { ...@@ -95,11 +95,6 @@ public class GuiceServletConfig extends GuiceServletContextListener {
protected void configureServlets() { protected void configureServlets() {
filter("/*").through(AuditFilter.class); filter("/*").through(AuditFilter.class);
configureActiveServerFilterIfNecessary(); configureActiveServerFilterIfNecessary();
try {
configureAuthenticationFilter();
} catch (ConfigurationException e) {
LOG.warn("Unable to add and configure authentication filter", e);
}
String packages = getServletContext().getInitParameter(GUICE_CTX_PARAM); String packages = getServletContext().getInitParameter(GUICE_CTX_PARAM);
...@@ -120,16 +115,6 @@ public class GuiceServletConfig extends GuiceServletContextListener { ...@@ -120,16 +115,6 @@ public class GuiceServletConfig extends GuiceServletContextListener {
} }
} }
private void configureAuthenticationFilter() throws ConfigurationException {
Configuration configuration = getConfiguration();
if (configuration == null) {
throw new ConfigurationException("Could not load application configuration");
}
if (Boolean.valueOf(configuration.getString(AtlasClient.HTTP_AUTHENTICATION_ENABLED))) {
LOG.info("Enabling AuthenticationFilter");
filter("/*").through(AtlasAuthenticationFilter.class);
}
}
}); });
LOG.info("Guice modules loaded"); LOG.info("Guice modules loaded");
......
...@@ -38,7 +38,7 @@ public class LoginProcessor { ...@@ -38,7 +38,7 @@ public class LoginProcessor {
private static final Logger LOG = LoggerFactory.getLogger(LoginProcessor.class); private static final Logger LOG = LoggerFactory.getLogger(LoginProcessor.class);
public static final String ATLAS_AUTHENTICATION_PREFIX = "atlas.authentication."; public static final String ATLAS_AUTHENTICATION_PREFIX = "atlas.authentication.";
public static final String AUTHENTICATION_METHOD = ATLAS_AUTHENTICATION_PREFIX + "method"; public static final String AUTHENTICATION_KERBEROS_METHOD = ATLAS_AUTHENTICATION_PREFIX + "method.kerberos";
public static final String AUTHENTICATION_PRINCIPAL = ATLAS_AUTHENTICATION_PREFIX + "principal"; public static final String AUTHENTICATION_PRINCIPAL = ATLAS_AUTHENTICATION_PREFIX + "principal";
public static final String AUTHENTICATION_KEYTAB = ATLAS_AUTHENTICATION_PREFIX + "keytab"; public static final String AUTHENTICATION_KEYTAB = ATLAS_AUTHENTICATION_PREFIX + "keytab";
...@@ -95,12 +95,14 @@ public class LoginProcessor { ...@@ -95,12 +95,14 @@ public class LoginProcessor {
protected void setupHadoopConfiguration(Configuration hadoopConfig, org.apache.commons.configuration.Configuration protected void setupHadoopConfiguration(Configuration hadoopConfig, org.apache.commons.configuration.Configuration
configuration) { configuration) {
String authMethod; String authMethod = "";
authMethod = configuration != null ? configuration.getString(AUTHENTICATION_METHOD) : null; String kerberosAuthNEnabled = configuration != null ? configuration.getString(AUTHENTICATION_KERBEROS_METHOD) : null;
// getString may return null, and would like to log the nature of the default setting // getString may return null, and would like to log the nature of the default setting
if (authMethod == null) { if (kerberosAuthNEnabled == null || kerberosAuthNEnabled.equalsIgnoreCase("false")) {
LOG.info("No authentication method configured. Defaulting to simple authentication"); LOG.info("No authentication method configured. Defaulting to simple authentication");
authMethod = "simple"; authMethod = "simple";
} else if (kerberosAuthNEnabled.equalsIgnoreCase("true")) {
authMethod = "kerberos";
} }
SecurityUtil SecurityUtil
.setAuthenticationMethod(UserGroupInformation.AuthenticationMethod.valueOf(authMethod.toUpperCase()), .setAuthenticationMethod(UserGroupInformation.AuthenticationMethod.valueOf(authMethod.toUpperCase()),
......
...@@ -34,11 +34,12 @@ public class AtlasAuthenticationProvider extends ...@@ -34,11 +34,12 @@ public class AtlasAuthenticationProvider extends
private static final Logger LOG = LoggerFactory private static final Logger LOG = LoggerFactory
.getLogger(AtlasAuthenticationProvider.class); .getLogger(AtlasAuthenticationProvider.class);
private String atlasAuthenticationMethod = "UNKNOWN"; private boolean fileAuthenticationMethodEnabled = true;
private boolean ldapAuthenticationMethodEnabled = false;
enum AUTH_METHOD { private String ldapType = "UNKNOWN";
FILE, LDAP, AD public static final String FILE_AUTH_METHOD = "atlas.authentication.method.file";
}; public static final String LDAP_AUTH_METHOD = "atlas.authentication.method.ldap";
public static final String LDAP_TYPE = "atlas.authentication.method.ldap.type";
@Autowired @Autowired
AtlasLdapAuthenticationProvider ldapAuthenticationProvider; AtlasLdapAuthenticationProvider ldapAuthenticationProvider;
...@@ -53,8 +54,12 @@ public class AtlasAuthenticationProvider extends ...@@ -53,8 +54,12 @@ public class AtlasAuthenticationProvider extends
void setAuthenticationMethod() { void setAuthenticationMethod() {
try { try {
Configuration configuration = ApplicationProperties.get(); Configuration configuration = ApplicationProperties.get();
this.atlasAuthenticationMethod = configuration.getString(
"atlas.login.method", "UNKNOWN"); this.fileAuthenticationMethodEnabled = configuration.getBoolean(
FILE_AUTH_METHOD, true);
this.ldapAuthenticationMethodEnabled = configuration.getBoolean(
LDAP_AUTH_METHOD, false);
this.ldapType = configuration.getString(LDAP_TYPE, "UNKNOWN");
} catch (Exception e) { } catch (Exception e) {
LOG.error( LOG.error(
"Error while getting atlas.login.method application properties", "Error while getting atlas.login.method application properties",
...@@ -66,37 +71,30 @@ public class AtlasAuthenticationProvider extends ...@@ -66,37 +71,30 @@ public class AtlasAuthenticationProvider extends
public Authentication authenticate(Authentication authentication) public Authentication authenticate(Authentication authentication)
throws AuthenticationException { throws AuthenticationException {
if (atlasAuthenticationMethod.equalsIgnoreCase(AUTH_METHOD.FILE.name())) { if (ldapAuthenticationMethodEnabled) {
authentication = fileAuthenticationProvider
.authenticate(authentication); if (ldapType.equalsIgnoreCase("LDAP")) {
} else if (atlasAuthenticationMethod.equalsIgnoreCase(AUTH_METHOD.LDAP
.name())) {
try { try {
authentication = ldapAuthenticationProvider authentication = ldapAuthenticationProvider
.authenticate(authentication); .authenticate(authentication);
} catch (Exception ex) { } catch (Exception ex) {
LOG.error("Error while LDAP authentication", ex); LOG.error("Error while LDAP authentication", ex);
} }
} else if (atlasAuthenticationMethod.equalsIgnoreCase(AUTH_METHOD.AD } else if (ldapType.equalsIgnoreCase("AD")) {
.name())) {
try { try {
authentication = adAuthenticationProvider authentication = adAuthenticationProvider
.authenticate(authentication); .authenticate(authentication);
} catch (Exception ex) { } catch (Exception ex) {
LOG.error("Error while AD authentication", ex); LOG.error("Error while AD authentication", ex);
} }
} else { }
LOG.error("Invalid authentication method :"
+ atlasAuthenticationMethod);
} }
if (authentication != null && authentication.isAuthenticated()) { if (authentication != null && authentication.isAuthenticated()) {
return authentication; return authentication;
} else { } else {
// If the LDAP/AD authentication fails try the local file login method // If the LDAP/AD authentication fails try the local filebased login method
if (atlasAuthenticationMethod.equalsIgnoreCase(AUTH_METHOD.AD if (fileAuthenticationMethodEnabled) {
.name()) || atlasAuthenticationMethod.equalsIgnoreCase(AUTH_METHOD.LDAP
.name())) {
authentication = fileAuthenticationProvider authentication = fileAuthenticationProvider
.authenticate(authentication); .authenticate(authentication);
} }
......
...@@ -30,6 +30,7 @@ ...@@ -30,6 +30,7 @@
<security:http pattern="/login.jsp" security="none" /> <security:http pattern="/login.jsp" security="none" />
<security:http pattern="/css/**" security="none" /> <security:http pattern="/css/**" security="none" />
<security:http pattern="/img/**" security="none" />
<security:http pattern="/libs/**" security="none" /> <security:http pattern="/libs/**" security="none" />
<security:http pattern="/js/**" security="none" /> <security:http pattern="/js/**" security="none" />
<security:http pattern="/api/atlas/admin/status" security="none" /> <security:http pattern="/api/atlas/admin/status" security="none" />
...@@ -41,6 +42,8 @@ ...@@ -41,6 +42,8 @@
session-fixation-protection="newSession" /> session-fixation-protection="newSession" />
<intercept-url pattern="/**" access="isAuthenticated()" /> <intercept-url pattern="/**" access="isAuthenticated()" />
<security:custom-filter ref="krbAuthenticationFilter" after="SERVLET_API_SUPPORT_FILTER" />
<form-login <form-login
login-page="/login.jsp" login-page="/login.jsp"
authentication-success-handler-ref="atlasAuthenticationSuccessHandler" authentication-success-handler-ref="atlasAuthenticationSuccessHandler"
...@@ -54,6 +57,9 @@ ...@@ -54,6 +57,9 @@
<security:custom-filter position="LAST" ref="atlasAuthorizationFilter"/> <security:custom-filter position="LAST" ref="atlasAuthorizationFilter"/>
</security:http> </security:http>
<beans:bean id="krbAuthenticationFilter" class="org.apache.atlas.web.filters.AtlasAuthenticationFilter">
</beans:bean>
<beans:bean id="atlasAuthenticationSuccessHandler" <beans:bean id="atlasAuthenticationSuccessHandler"
class="org.apache.atlas.web.security.AtlasAuthenticationSuccessHandler" /> class="org.apache.atlas.web.security.AtlasAuthenticationSuccessHandler" />
......
...@@ -89,7 +89,7 @@ public abstract class BaseResourceIT { ...@@ -89,7 +89,7 @@ public abstract class BaseResourceIT {
service = client.resource(UriBuilder.fromUri(baseUrl).build()); service = client.resource(UriBuilder.fromUri(baseUrl).build());
if (!AuthenticationUtil.isKerberosAuthicationEnabled()) { if (!AuthenticationUtil.isKerberosAuthenticationEnabled()) {
serviceClient = new AtlasClient(new String[]{baseUrl}, new String[]{"admin", "admin"}); serviceClient = new AtlasClient(new String[]{baseUrl}, new String[]{"admin", "admin"});
} else { } else {
serviceClient = new AtlasClient(baseUrl); serviceClient = new AtlasClient(baseUrl);
......
...@@ -77,8 +77,8 @@ public class FileAuthenticationTest { ...@@ -77,8 +77,8 @@ public class FileAuthenticationTest {
private void setUpAltasApplicationProperties(String persistDir) throws Exception { private void setUpAltasApplicationProperties(String persistDir) throws Exception {
final PropertiesConfiguration configuration = new PropertiesConfiguration(); final PropertiesConfiguration configuration = new PropertiesConfiguration();
configuration.setProperty("atlas.login.method", "FILE"); configuration.setProperty("atlas.authentication.method.file", "true");
configuration.setProperty("atlas.login.credentials.file", persistDir configuration.setProperty("atlas.authentication.method.file.filename", persistDir
+ "/users-credentials"); + "/users-credentials");
configuration.setProperty("atlas.auth.policy.file",persistDir configuration.setProperty("atlas.auth.policy.file",persistDir
+ "/policy-store.txt" ); + "/policy-store.txt" );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment