com.tunisbank.service.UsersControllers.java Source code

Java tutorial

Introduction

Here is the source code for com.tunisbank.service.UsersControllers.java

Source

/* 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);
    }

}