- JSF Login Session and redirect
- package com.erp3.gui.controllers;
- import javax.faces.context.FacesContext;
- public class MainController {
- public LoginController loginController;
- public MainController() {
- this.checkUserSession();
- }
- public String checkUserSession() {
- loginController = (LoginController) FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get("loginController");
- if (!loginController.getIsLoggedIn()) {
- return "login.html";
- } else {
- return null;
- }
- }
- }
- package com.erp3.gui.controllers;
- import javax.faces.bean.ManagedBean;
- import javax.faces.bean.SessionScoped;
- @ManagedBean
- public class HomeController extends MainController {
- public String username;
- public HomeController() {
- super();
- }
- }
- package com.erp3.gui.controllers;
- import javax.faces.application.FacesMessage;
- import javax.faces.bean.ManagedBean;
- import javax.faces.context.FacesContext;
- @ManagedBean
- public class LoginController {
- public Boolean isLoggedIn = false;
- private String username;
- private String password;
- private FacesMessage msg;
- public String login() {
- if (this.getUsername().equals("daniel") && this.getPassword().equals("123")) {
- this.isLoggedIn = true;
- public String logOut() {
- FacesContext.getCurrentInstance().getExternalContext().getSessionMap().remove("loginController");
- return "login.html";
- }
- }
- Cant instantiate class: com.erp3.gui.controllers.HomeController.
- public class MainController {
- public MainController() throws IOException {
- this.checkUserSession();
- }
- public void checkUserSession() throws IOException {
- ExternalContext ec = FacesContext.getCurrentInstance().getExternalContext();
- LoginController loginController = (LoginController) ec.getSessionMap().get("loginController");
- if (loginController == null || !loginController.getIsLoggedIn()) {
- ec.redirect(ec.getRequestContextPath() + "/login.html");
- }
- }
- }