[ 
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)

Reply via email to