It *should* be enforcing @RequireAuthentication and @RequireRoles ... let me look into it
on my side.
On 2010-02-10, at 1:43 PM, Kevin Jordan wrote:
I’m wondering how authentication works (or is supposed to work) in
Errai. It seems from what I can gather, you’re supposed to use doAuthentication in the
SecurityService, however, even if my custom AuthenticationAdapter does nothing as it
currently does (I was curious to see if I could get Spring Security authentication
information using it to pass it on since I can’t seem to in my services, which I can’t in
there either), but nothing calls isAuthenticated or anything related to it later on even
if I have @RequireAuthentication or @RequireRoles on my services. In fact, it lets me
call the services even though as far as I think Errai knows, it should have no
authentication principals or roles. Is Authentication incomplete at this point in time?
At this time, I’m not requiring/needing the annotations, but I do want to get my login
information from Spring Security. I would normally do it in the context of a servlet or
jsp as:
try {
SecurityContext context = SecurityContextHolder.getContext();
Object principal = null;
User user = null;
if (context != null) {
Authentication auth = context.getAuthentication();
if (auth != null) {
principal = auth.getPrincipal();
if (principal instanceof User) {
user = (User) principal;
logger.info(user.getUsername());
} else {
logger.debug("Principal is null or not a
User");
}
} else {
logger.debug("No authentication");
}
} else {
logger.debug("No context");
}
} catch (Exception e) {
logger.error("Error", e);
}
However, that doesn’t seem to work, probably because it can’t access the ThreadLocal
since I’m assuming most things in Errai, especially services, get a new Thread? Is there
any way for me to access the remote user from the servlet? I doubt services get a link to
the requesting servlet, correct?
_______________________________________________
errai-users mailing list
errai-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/errai-users