@Override public boolean logout(HttpSession session) { return getTargetProvider().logout(session); } }
@Override public boolean isAuthenticated(HttpSession session) { return getTargetProvider().isAuthenticated(session); }
@Override public boolean authenticate(HttpSession session, String user, String password) { return getTargetProvider().authenticate(session, user, password); }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public boolean authenticate(HttpSession session, String user, String password) { if (session==null || user==null) return false; checkCanLoad(); Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, ldapUrl); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, getUserDN(user)); env.put(Context.SECURITY_CREDENTIALS, password); boolean authenticated = false; try { new InitialDirContext(env); authenticated = true; } catch (NamingException e) { LOG.warn("Failed to authenticate user: " + user); } if (session != null) session.setAttribute(AUTHENTICATED_SESSION_TOKEN_NAME, authenticated); return authenticated; }
protected boolean authenticate(HttpServletRequest request) { if (provider.isAuthenticated( request.getSession() )) return true; String user = null, pass = null; String authorization=request.getHeader("Authorization"); if (authorization!=null) { String userpass=Base64.base64Decode(authorization.substring(6)); user=userpass.substring(0,userpass.indexOf(":")); pass=userpass.substring(userpass.indexOf(":")+1); } if (provider.authenticate(request.getSession(), user, pass)) { log.debug("Web API authenticated "+request.getSession()+" for user "+user); if (user!=null) { request.getSession().setAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE, user); } return true; } return false; }
if (session==null || user==null) return false; initialize(); return allow(session, user); } else { return allow(session, user);
@Override public void init(FilterConfig config) throws ServletException { mgmt = (ManagementContext) config.getServletContext().getAttribute(BrooklynServiceAttributes.BROOKLYN_MANAGEMENT_CONTEXT); provider = new DelegatingSecurityProvider(mgmt); }
protected boolean handleLogout(HttpServletRequest request) { if ("/logout".equals(request.getRequestURI()) || "/v1/logout".equals(request.getRequestURI())) { log.info("Web API logging out "+request.getSession()+" for user "+ request.getSession().getAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE)); provider.logout(request.getSession()); request.getSession().removeAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE); request.getSession().invalidate(); return true; } return false; }
targetProvider = new BlackholeSecurityProvider();
@Override public boolean logout(HttpSession session) { return getTargetProvider().logout(session); } }
@Override public boolean isAuthenticated(HttpSession session) { return getTargetProvider().isAuthenticated(session); }
@Override public boolean authenticate(HttpSession session, String user, String password) { return getTargetProvider().authenticate(session, user, password); }
@SuppressWarnings({ "rawtypes", "unchecked" }) @Override public boolean authenticate(HttpSession session, String user, String password) { if (session==null || user==null) return false; checkCanLoad(); Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, "com.sun.jndi.ldap.LdapCtxFactory"); env.put(Context.PROVIDER_URL, ldapUrl); env.put(Context.SECURITY_AUTHENTICATION, "simple"); env.put(Context.SECURITY_PRINCIPAL, getUserDN(user)); env.put(Context.SECURITY_CREDENTIALS, password); boolean authenticated = false; try { new InitialDirContext(env); authenticated = true; } catch (NamingException e) { LOG.warn("Failed to authenticate user: " + user); } if (session != null) session.setAttribute(AUTHENTICATED_SESSION_TOKEN_NAME, authenticated); return authenticated; }
protected boolean authenticate(HttpServletRequest request) { if (provider.isAuthenticated( request.getSession() )) return true; String user = null, pass = null; String authorization=request.getHeader("Authorization"); if (authorization!=null) { String userpass=Base64.base64Decode(authorization.substring(6)); user=userpass.substring(0,userpass.indexOf(":")); pass=userpass.substring(userpass.indexOf(":")+1); } if (provider.authenticate(request.getSession(), user, pass)) { log.debug("Web API authenticated "+request.getSession()+" for user "+user); if (user!=null) { request.getSession().setAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE, user); } return true; } return false; }
if (session==null || user==null) return false; initialize(); } else { return allow(session, user);
@Override public void init(FilterConfig config) throws ServletException { mgmt = (ManagementContext) config.getServletContext().getAttribute(BrooklynServiceAttributes.BROOKLYN_MANAGEMENT_CONTEXT); provider = new DelegatingSecurityProvider(mgmt); }
protected boolean handleLogout(HttpServletRequest request) { if ("/logout".equals(request.getRequestURI()) || "/v1/logout".equals(request.getRequestURI())) { log.info("Web API logging out "+request.getSession()+" for user "+ request.getSession().getAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE)); provider.logout(request.getSession()); request.getSession().removeAttribute(AUTHENTICATED_USER_SESSION_ATTRIBUTE); request.getSession().invalidate(); return true; } return false; }
targetProvider = new BlackholeSecurityProvider();