Skip to content

Commit 8b6a4ee

Browse files
committed
RANGER-5499: Revert Filter and use GenericFilterBean with PostConstruct
(cherry picked from commit 371b5de)
1 parent a8f9717 commit 8b6a4ee

2 files changed

Lines changed: 9 additions & 21 deletions

File tree

security-admin/src/main/java/org/apache/ranger/security/web/filter/RangerHeaderPreAuthFilter.java

Lines changed: 5 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@
3232
import org.springframework.security.core.userdetails.User;
3333
import org.springframework.security.core.userdetails.UserDetails;
3434
import org.springframework.security.web.authentication.WebAuthenticationDetails;
35+
import org.springframework.web.filter.GenericFilterBean;
3536

36-
import javax.servlet.Filter;
37+
import javax.annotation.PostConstruct;
3738
import javax.servlet.FilterChain;
38-
import javax.servlet.FilterConfig;
3939
import javax.servlet.ServletException;
4040
import javax.servlet.ServletRequest;
4141
import javax.servlet.ServletResponse;
@@ -46,7 +46,7 @@
4646
import java.util.Collection;
4747
import java.util.List;
4848

49-
public class RangerHeaderPreAuthFilter implements Filter {
49+
public class RangerHeaderPreAuthFilter extends GenericFilterBean {
5050
private static final Logger LOG = LoggerFactory.getLogger(RangerHeaderPreAuthFilter.class);
5151

5252
public static final String PROP_HEADER_AUTH_ENABLED = "ranger.admin.authn.header.enabled";
@@ -59,24 +59,12 @@ public class RangerHeaderPreAuthFilter implements Filter {
5959
@Autowired
6060
UserMgr userMgr;
6161

62-
public RangerHeaderPreAuthFilter() {
63-
loadConfiguration();
64-
}
65-
66-
@Override
67-
public void init(FilterConfig config) throws ServletException {
68-
loadConfiguration();
69-
}
70-
71-
private void loadConfiguration() {
62+
@PostConstruct
63+
protected void initialize() {
7264
headerAuthEnabled = PropertiesUtil.getBooleanProperty(PROP_HEADER_AUTH_ENABLED, false);
7365
userNameHeaderName = PropertiesUtil.getProperty(PROP_USERNAME_HEADER_NAME);
7466
}
7567

76-
@Override
77-
public void destroy() {
78-
}
79-
8068
@Override
8169
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
8270
if (headerAuthEnabled) {

security-admin/src/test/java/org/apache/ranger/security/web/filter/TestRangerHeaderPreAuthFilter.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public void testDoFilter_disabled_passesThrough() throws Exception {
7575
UserMgr userMgr = mock(UserMgr.class);
7676

7777
filter.userMgr = userMgr;
78-
filter.init(null);
78+
filter.initialize();
7979

8080
HttpServletRequest request = mock(HttpServletRequest.class);
8181
HttpServletResponse response = mock(HttpServletResponse.class);
@@ -97,7 +97,7 @@ public void testDoFilter_enabled_missingUsername_passesThrough() throws Exceptio
9797
UserMgr userMgr = mock(UserMgr.class);
9898

9999
filter.userMgr = userMgr;
100-
filter.init(null);
100+
filter.initialize();
101101

102102
HttpServletRequest request = mock(HttpServletRequest.class);
103103
HttpServletResponse response = mock(HttpServletResponse.class);
@@ -121,7 +121,7 @@ public void testDoFilter_enabled_withUsername_setsAuthenticationFromRangerDbRole
121121
UserMgr userMgr = mock(UserMgr.class);
122122

123123
filter.userMgr = userMgr;
124-
filter.init(null);
124+
filter.initialize();
125125

126126
when(userMgr.getRolesByLoginId("joeuser")).thenReturn(Arrays.asList("ROLE_SYS_ADMIN", "ROLE_USER"));
127127

@@ -160,7 +160,7 @@ public void testDoFilter_enabled_existingAuthenticatedContext_doesNotOverrideAut
160160
UserMgr userMgr = mock(UserMgr.class);
161161

162162
filter.userMgr = userMgr;
163-
filter.init(null);
163+
filter.initialize();
164164

165165
UsernamePasswordAuthenticationToken existingAuth = new UsernamePasswordAuthenticationToken("existing-user", "pwd", Collections.singletonList(new SimpleGrantedAuthority("test-role")));
166166

0 commit comments

Comments
 (0)