[
https://issues.apache.org/jira/browse/CXF-6072?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14190041#comment-14190041
]
Romain Manni-Bucau commented on CXF-6072:
-----------------------------------------
There is no link with tomee, I can reproduce it with a plain tomcat ;)
Just do::
{code}
@Path("secu")
public class SecurityResource {
@Context HttpServletRequest req;
@Context SecurityContext secu;
@POST // @FormParam etc as needed, skip for readability
public String login(String user, String pwd) {
req.login(user, pwd);
return secu.getPrincipal().getName();
}
}
{code}
Fix seems right, thank you!
> jaxrs securityContext.getUserPrincipal is broken if login is done during the
> request
> ------------------------------------------------------------------------------------
>
> Key: CXF-6072
> URL: https://issues.apache.org/jira/browse/CXF-6072
> Project: CXF
> Issue Type: Bug
> Reporter: Romain Manni-Bucau
> Assignee: Sergey Beryozkin
> Fix For: 3.1.0, 3.0.3, 2.7.14
>
>
> Hi
> tested on last 2.6 release and didn't take time to check on 3. but I guess it
> is the same:
> I call a rest endpoint, in my business I login(user, pass) from the request
> (http) then from the security context I get the principal -> null, if I get
> it fro mthe request it is avlued. It is cause
> org.apache.cxf.transport.http.AbstractHTTPDestination#setupMessage(org.apache.cxf.message.Message,
> javax.servlet.ServletConfig, javax.servlet.ServletContext,
> javax.servlet.http.HttpServletRequest,
> javax.servlet.http.HttpServletResponse) stores the principal for the request
> but it evaluates it too early.
> Why not keeping the delegation to the http request?
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)