- Passing parameters across 2 servers 2007-07-13 - By mat
Back Hi, We have created two minimal seam projects based on seam-gen, each on a separate server, with the following environment: JBoss-seam 2.0 BETA1, with facelets; JBoss-4 (See http://oss-4.ora-code.com).2.0.GA;
We need to pass authentication parameters from one server to another:
Users must authenticate in server1, by entering username and password. Upon successful login; browser should redirect to other servers such as serverMain, with the username and password passed as parameters.
I have implemented the following which redirects to serverMain home page correctly:
| String url = "http:// serverMain:8080/MyMainApp/home.seam"; | FacesContext facesContext = FacesContext.getCurrentInstance(); | facesContext.getExternalContext().redirect(url); |
However, I need to pass the authentication parameters, username and password, from server1 to serverMain.
In server1, I have tried:
| String url = "http:// serverMain:8080/MyMainApp/home.seam"; | FacesContext facesContext = FacesContext.getCurrentInstance(); | facesContext.getExternalContext().redirect(url); | | //passing parameter | HttpServletRequest req = (HttpServletRequest) facesContext .getExternalContext().getRequest(); | | HttpServletResponse res = (HttpServletResponse) facesContext .getExternalContext().getResponse(); | | req.setAttribute("username", value); | //test 1 | //req.getRequestDispatcher(url).forward(req, res); | //test 2 | req.getSession().getServletContext().getRequestDispatcher(url) .forward(req, res); |
To receive the passed parameters, on the serverMain, I have tried:
| @(protected)("userSession") | @(protected)(ScopeType.SESSION) | public class UserSession { | | | public void init() | { | System.out.println("*** userSession ****** init called."); | | try { | | FacesContext facesContext = FacesContext.getCurrentInstance(); | HttpServletRequest req = (HttpServletRequest) facesContext .getExternalContext().getRequest(); | String username = (String) req.getAttribute("username"); | System.out.println("req.getAttribute received == " +username); | | } catch (Exception ex) { | ex.printStackTrace(); | } | } | } | |
But, when the init() method gets called, I get null for the username. I would be grateful for any help ? much appreciated. Many thanks.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic &p=4063876#4063876
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode =reply&p=4063876 __ ____ ____ ____ ____ ____ ____ ____ ____ ____ jboss-user mailing list jboss-user@(protected) https://lists.jboss.org/mailman/listinfo/jboss-user
|
|