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