diff --git a/impl/extension/jaas/src/main/java/br/gov/frameworkdemoiselle/security/JAASAuthenticator.java b/impl/extension/jaas/src/main/java/br/gov/frameworkdemoiselle/security/JAASAuthenticator.java index ae9c75e..6ae76c3 100644 --- a/impl/extension/jaas/src/main/java/br/gov/frameworkdemoiselle/security/JAASAuthenticator.java +++ b/impl/extension/jaas/src/main/java/br/gov/frameworkdemoiselle/security/JAASAuthenticator.java @@ -39,6 +39,7 @@ package br.gov.frameworkdemoiselle.security; import static br.gov.frameworkdemoiselle.internal.implementation.StrategySelector.EXTENSIONS_L1_PRIORITY; import java.io.IOException; +import java.security.SecurityPermission; import javax.enterprise.context.SessionScoped; import javax.enterprise.inject.Produces; @@ -91,7 +92,7 @@ public class JAASAuthenticator implements Authenticator { try { LoginContext loginContext = createLoginContext(); - + if (loginContext != null) { loginContext.login(); @@ -136,6 +137,29 @@ public class JAASAuthenticator implements Authenticator { @Override public User getUser() { + try { + +// LoginContext + +// AbstractSecurityContext. + + Object securityContext = System.getSecurityManager().getSecurityContext(); + + System.out.println(securityContext.toString()); + + String name = config.getLoginModuleName(); + LoginContext loginContext = new LoginContext(name, this.subject); + loginContext.login(); + + Subject subject2 = loginContext.getSubject(); + + System.out.println(subject2.toString()); + + } catch (LoginException e) { + // TODO Auto-generated catch block + e.printStackTrace(); + } + return this.user; } diff --git a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletFilter.java b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletFilter.java index a5435c2..77e43bd 100644 --- a/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletFilter.java +++ b/impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletFilter.java @@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.util; import java.io.IOException; +import javax.security.auth.login.LoginContext; import javax.servlet.Filter; import javax.servlet.FilterChain; import javax.servlet.FilterConfig; @@ -46,6 +47,7 @@ import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import br.gov.frameworkdemoiselle.internal.producer.HttpServletRequestProducer; import br.gov.frameworkdemoiselle.internal.producer.HttpServletResponseProducer; @@ -63,6 +65,16 @@ public class ServletFilter implements Filter { Beans.getReference(HttpServletRequestProducer.class).setDelegate((HttpServletRequest) request); Beans.getReference(HttpServletResponseProducer.class).setDelegate((HttpServletResponse) response); + //((HttpServletRequest) request).; + + LoginContext ctx = null; + HttpSession sess = (HttpSession) ((HttpServletRequest) request).getSession(false); + if (sess != null) { + ctx = (LoginContext) sess.getAttribute("ctx"); + } + + System.out.println(ctx); + chain.doFilter(request, response); } -- libgit2 0.21.2