java/nekurak.net-ejb/src/java/cz/frantovo/nekurak/ejb/UzivatelEJB.java
author František Kučera <franta-hg@frantovo.cz>
Thu Mar 04 14:09:21 2010 +0100 (2010-03-04)
changeset 52 4c0408690ebf
parent 50 d259a2dfea67
child 55 079a3221355d
permissions -rw-r--r--
Hashování hesla, generování náhodného tokenu, částečný převod chyb na uživatelsky přijatelné hlášky.
franta-hg@50
     1
package cz.frantovo.nekurak.ejb;
franta-hg@50
     2
franta-hg@50
     3
import cz.frantovo.nekurak.dao.UzivatelDAO;
franta-hg@50
     4
import cz.frantovo.nekurak.dto.Uzivatel;
franta-hg@52
     5
import cz.frantovo.nekurak.util.Hash;
franta-hg@52
     6
import cz.frantovo.nekurak.vyjimky.NecekanaVyjimka;
franta-hg@52
     7
import cz.frantovo.nekurak.vyjimky.NekurakVyjimka;
franta-hg@52
     8
import java.io.UnsupportedEncodingException;
franta-hg@52
     9
import java.security.NoSuchAlgorithmException;
franta-hg@50
    10
import javax.ejb.EJB;
franta-hg@50
    11
import javax.ejb.Stateless;
franta-hg@50
    12
franta-hg@50
    13
/**
franta-hg@50
    14
 *
franta-hg@50
    15
 * @author fiki
franta-hg@50
    16
 */
franta-hg@50
    17
@Stateless
franta-hg@50
    18
public class UzivatelEJB implements UzivatelRemote {
franta-hg@50
    19
franta-hg@50
    20
    @EJB
franta-hg@50
    21
    private UzivatelDAO uzivatelDao;
franta-hg@50
    22
franta-hg@50
    23
    /** Uživatele může zakládat kdokoli – uživatel se registruje sám. */
franta-hg@52
    24
    public void zalozUzivatele(Uzivatel u) throws NekurakVyjimka {
franta-hg@52
    25
	try {
franta-hg@52
    26
	    /** Heslo musíme před uložení zahashovat, aby se uživatel mohl přihlásit. */
franta-hg@52
    27
	    u.setHeslo(Hash.hashuj(u.getHeslo()));
franta-hg@52
    28
	    uzivatelDao.uloz(u);
franta-hg@52
    29
	} catch (NoSuchAlgorithmException e) {
franta-hg@52
    30
	    /** Nemělo by nastat */
franta-hg@52
    31
	    throw new NecekanaVyjimka("Neexistující hashovací algoritmus.", e);
franta-hg@52
    32
	} catch (UnsupportedEncodingException e) {
franta-hg@52
    33
	    /** Nemělo by nastat */
franta-hg@52
    34
	    throw new NecekanaVyjimka("Nepodporované kódování znaků.", e);
franta-hg@52
    35
	}
franta-hg@50
    36
    }
franta-hg@50
    37
}