Commit 3a6e094fe2cc0c1993e6afc0462fa7bca2c6ccac
1 parent
bff29051
Exists in
master
Experimentos com o LoginModule
Showing
2 changed files
with
37 additions
and
1 deletions
Show diff stats
impl/extension/jaas/src/main/java/br/gov/frameworkdemoiselle/security/JAASAuthenticator.java
@@ -39,6 +39,7 @@ package br.gov.frameworkdemoiselle.security; | @@ -39,6 +39,7 @@ package br.gov.frameworkdemoiselle.security; | ||
39 | import static br.gov.frameworkdemoiselle.internal.implementation.StrategySelector.EXTENSIONS_L1_PRIORITY; | 39 | import static br.gov.frameworkdemoiselle.internal.implementation.StrategySelector.EXTENSIONS_L1_PRIORITY; |
40 | 40 | ||
41 | import java.io.IOException; | 41 | import java.io.IOException; |
42 | +import java.security.SecurityPermission; | ||
42 | 43 | ||
43 | import javax.enterprise.context.SessionScoped; | 44 | import javax.enterprise.context.SessionScoped; |
44 | import javax.enterprise.inject.Produces; | 45 | import javax.enterprise.inject.Produces; |
@@ -91,7 +92,7 @@ public class JAASAuthenticator implements Authenticator { | @@ -91,7 +92,7 @@ public class JAASAuthenticator implements Authenticator { | ||
91 | 92 | ||
92 | try { | 93 | try { |
93 | LoginContext loginContext = createLoginContext(); | 94 | LoginContext loginContext = createLoginContext(); |
94 | - | 95 | + |
95 | if (loginContext != null) { | 96 | if (loginContext != null) { |
96 | loginContext.login(); | 97 | loginContext.login(); |
97 | 98 | ||
@@ -136,6 +137,29 @@ public class JAASAuthenticator implements Authenticator { | @@ -136,6 +137,29 @@ public class JAASAuthenticator implements Authenticator { | ||
136 | 137 | ||
137 | @Override | 138 | @Override |
138 | public User getUser() { | 139 | public User getUser() { |
140 | + try { | ||
141 | + | ||
142 | +// LoginContext | ||
143 | + | ||
144 | +// AbstractSecurityContext. | ||
145 | + | ||
146 | + Object securityContext = System.getSecurityManager().getSecurityContext(); | ||
147 | + | ||
148 | + System.out.println(securityContext.toString()); | ||
149 | + | ||
150 | + String name = config.getLoginModuleName(); | ||
151 | + LoginContext loginContext = new LoginContext(name, this.subject); | ||
152 | + loginContext.login(); | ||
153 | + | ||
154 | + Subject subject2 = loginContext.getSubject(); | ||
155 | + | ||
156 | + System.out.println(subject2.toString()); | ||
157 | + | ||
158 | + } catch (LoginException e) { | ||
159 | + // TODO Auto-generated catch block | ||
160 | + e.printStackTrace(); | ||
161 | + } | ||
162 | + | ||
139 | return this.user; | 163 | return this.user; |
140 | } | 164 | } |
141 | 165 |
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/util/ServletFilter.java
@@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.util; | @@ -38,6 +38,7 @@ package br.gov.frameworkdemoiselle.util; | ||
38 | 38 | ||
39 | import java.io.IOException; | 39 | import java.io.IOException; |
40 | 40 | ||
41 | +import javax.security.auth.login.LoginContext; | ||
41 | import javax.servlet.Filter; | 42 | import javax.servlet.Filter; |
42 | import javax.servlet.FilterChain; | 43 | import javax.servlet.FilterChain; |
43 | import javax.servlet.FilterConfig; | 44 | import javax.servlet.FilterConfig; |
@@ -46,6 +47,7 @@ import javax.servlet.ServletRequest; | @@ -46,6 +47,7 @@ import javax.servlet.ServletRequest; | ||
46 | import javax.servlet.ServletResponse; | 47 | import javax.servlet.ServletResponse; |
47 | import javax.servlet.http.HttpServletRequest; | 48 | import javax.servlet.http.HttpServletRequest; |
48 | import javax.servlet.http.HttpServletResponse; | 49 | import javax.servlet.http.HttpServletResponse; |
50 | +import javax.servlet.http.HttpSession; | ||
49 | 51 | ||
50 | import br.gov.frameworkdemoiselle.internal.producer.HttpServletRequestProducer; | 52 | import br.gov.frameworkdemoiselle.internal.producer.HttpServletRequestProducer; |
51 | import br.gov.frameworkdemoiselle.internal.producer.HttpServletResponseProducer; | 53 | import br.gov.frameworkdemoiselle.internal.producer.HttpServletResponseProducer; |
@@ -63,6 +65,16 @@ public class ServletFilter implements Filter { | @@ -63,6 +65,16 @@ public class ServletFilter implements Filter { | ||
63 | Beans.getReference(HttpServletRequestProducer.class).setDelegate((HttpServletRequest) request); | 65 | Beans.getReference(HttpServletRequestProducer.class).setDelegate((HttpServletRequest) request); |
64 | Beans.getReference(HttpServletResponseProducer.class).setDelegate((HttpServletResponse) response); | 66 | Beans.getReference(HttpServletResponseProducer.class).setDelegate((HttpServletResponse) response); |
65 | 67 | ||
68 | + //((HttpServletRequest) request).; | ||
69 | + | ||
70 | + LoginContext ctx = null; | ||
71 | + HttpSession sess = (HttpSession) ((HttpServletRequest) request).getSession(false); | ||
72 | + if (sess != null) { | ||
73 | + ctx = (LoginContext) sess.getAttribute("ctx"); | ||
74 | + } | ||
75 | + | ||
76 | + System.out.println(ctx); | ||
77 | + | ||
66 | chain.doFilter(request, response); | 78 | chain.doFilter(request, response); |
67 | } | 79 | } |
68 | 80 |