Java tutorial
/* Ce programme est un logiciel libre : vous pouvez le redistribuer ou le modifier selon les termes de la GNU General Public License tels que publis par la Free Software Foundation : votre choix, soit la version 3 de la licence, soit une version ultrieure quelle qu'elle soit. Ce programme est distribu dans l'espoir qu'il sera utile, mais SANS AUCUNE GARANTIE ; sans mme la garantie implicite de QUALIT MARCHANDE ou D'ADQUATION UNE UTILISATION PARTICULIRE. Pour plus de dtails, reportez-vous la GNU General Public License. Vous devez avoir reu une copie de la GNU General Public License avec ce programme. Si ce n'est pas le cas, consultez <http://www.gnu.org/licenses/>] */ package com.tunisbank.service; import java.io.UnsupportedEncodingException; import java.security.NoSuchAlgorithmException; import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; import org.springframework.web.servlet.view.RedirectView; import com.tunisbank.dao.UsersDAO; import com.tunisbank.entity.Groupe; import com.tunisbank.entity.User; import com.tunisbank.util.Cryptographic; @Controller @Transactional public class UsersControllers { @Autowired private UsersDAO usersDAO; private Boolean tryLogin = false; @RequestMapping("/users/login") public ModelAndView login(HttpServletRequest request) throws NoSuchAlgorithmException, UnsupportedEncodingException { User userone = usersDAO.getById(1); if (userone == null) { userone = new User(); userone.setLogin("admin"); userone.setPass("21232f297a57a5a743894a0e4a801fc3"); Groupe groupe = new Groupe(); groupe.setName("admins"); groupe.getUsers().add(userone); userone.setGroupe(groupe); usersDAO.save(userone); } Map model = new HashMap(); User user = (User) request.getSession(true).getAttribute("user"); if (user == null) { if (tryLogin == false) { model.put("anim", "blind"); tryLogin = true; return new ModelAndView("/users/login", model); } else { user = usersDAO.getBy("login", request.getParameter("login")); if (user != null && user.getPass().equals(Cryptographic.MD5(request.getParameter("pass")))) { request.getSession(true).setAttribute("user", user); return new ModelAndView(new RedirectView("../application/dashboard.html", true), model); } else { model.put("anim", "shake"); return new ModelAndView("/users/login", model); } } } else { return new ModelAndView(new RedirectView("../application/dashboard.html", true)); } } @RequestMapping("/users/logout") public ModelAndView logout(HttpServletRequest request) { request.getSession(true).removeAttribute("user"); Map model = new HashMap(); model.put("anim", "blind"); tryLogin = false; System.out.println("ok"); return new ModelAndView(new RedirectView("/users/login.html", true), model); } }