r1251 - in trunk/simexplorer-is: simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/entities simexplorer-is-security/src/resources/META-INF simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service src/site/fr/rst
Author: glandais Date: 2008-02-26 13:00:18 +0000 (Tue, 26 Feb 2008) New Revision: 1251 Modified: trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActor.java trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActorImpl.java trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/entities/LoginAction.java trunk/simexplorer-is/simexplorer-is-security/src/resources/META-INF/orm.xml trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java trunk/simexplorer-is/src/site/fr/rst/todo.rst Log: Invalidate sessions after some time Modified: trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActor.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActor.java 2008-02-26 12:58:30 UTC (rev 1250) +++ trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActor.java 2008-02-26 13:00:18 UTC (rev 1251) @@ -149,10 +149,10 @@ /** * Delete old tokens associated to user. * - * @param login Login of user + * @param actor User * @param before ms before now */ - public void deleteTokens(String login, long before); + public void deleteTokens(Actor actor, long before); /** * Gets the groups. Modified: trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActorImpl.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActorImpl.java 2008-02-26 12:58:30 UTC (rev 1250) +++ trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/dao/DaoActorImpl.java 2008-02-26 13:00:18 UTC (rev 1251) @@ -25,6 +25,7 @@ import javax.persistence.NoResultException; import javax.persistence.PersistenceContext; import javax.persistence.Query; +import javax.persistence.TemporalType; import org.codelutin.util.CollectionUtil; @@ -129,7 +130,7 @@ Actor a = (Actor) find(Actor.class, id); return a; } - + /* (non-Javadoc) * @see fr.cemagref.simexplorer.is.security.dao.DaoActor#saveGroup(fr.cemagref.simexplorer.is.security.entities.Group) */ @@ -167,7 +168,7 @@ "select la from LoginAction la where la.token=:token").setParameter("token", token)); if (loginAction != null) { loggedUser = loginAction.getLoggedUser(); - loginAction.setTime(new Date()); + loginAction.setLoginDate(new Date()); em.merge(loginAction); } return loggedUser; @@ -193,11 +194,11 @@ /* (non-Javadoc) * @see fr.cemagref.simexplorer.is.security.dao.DaoActor#deleteTokens(java.lang.String, long) */ - public void deleteTokens(String login, long before) { + public void deleteTokens(Actor actor, long before) { Date now = new Date(); Date date = new Date(now.getTime() - before); - em.createQuery("delete from LoginAction la where la.loggedUser.login = :login and la.time < :time") - .setParameter("time", date).setParameter("login", login).executeUpdate(); + em.createQuery("delete from LoginAction la where la.loggedUser = :actor and la.loginDate < :dateLimit") + .setParameter("dateLimit", date).setParameter("actor", actor).executeUpdate(); } /* (non-Javadoc) @@ -266,6 +267,4 @@ return groups; } - - } Modified: trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/entities/LoginAction.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/entities/LoginAction.java 2008-02-26 12:58:30 UTC (rev 1250) +++ trunk/simexplorer-is/simexplorer-is-security/src/java/fr/cemagref/simexplorer/is/security/entities/LoginAction.java 2008-02-26 13:00:18 UTC (rev 1251) @@ -26,13 +26,13 @@ /** The id. */ private Integer id; - + /** The time. */ - private Date time; - + private Date loginDate; + /** The logged user. */ private User loggedUser; - + /** The token. */ private String token; @@ -55,21 +55,21 @@ } /** - * Gets the time. + * Gets the login date. * - * @return the time + * @return the login date */ - public Date getTime() { - return time; + public Date getLoginDate() { + return loginDate; } /** - * Sets the time. + * Sets the login date. * - * @param time the new time + * @param loginDate the new login date */ - public void setTime(Date time) { - this.time = time; + public void setLoginDate(Date loginDate) { + this.loginDate = loginDate; } /** Modified: trunk/simexplorer-is/simexplorer-is-security/src/resources/META-INF/orm.xml =================================================================== --- trunk/simexplorer-is/simexplorer-is-security/src/resources/META-INF/orm.xml 2008-02-26 12:58:30 UTC (rev 1250) +++ trunk/simexplorer-is/simexplorer-is-security/src/resources/META-INF/orm.xml 2008-02-26 13:00:18 UTC (rev 1251) @@ -57,8 +57,8 @@ <generated-value strategy="SEQUENCE" /> </id> <basic name="token" /> - <basic name="time"> - <temporal>TIME</temporal> + <basic name="loginDate"> + <temporal>DATE</temporal> </basic> <one-to-one name="loggedUser" fetch="EAGER" /> </attributes> Modified: trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java =================================================================== --- trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java 2008-02-26 12:58:30 UTC (rev 1250) +++ trunk/simexplorer-is/simexplorer-is-service/src/java/fr/cemagref/simexplorer/is/service/AuthenticationServiceImpl.java 2008-02-26 13:00:18 UTC (rev 1251) @@ -561,12 +561,10 @@ // User loggedUser = daoActor.loginUser(login, AuthenticationServiceHelper.computeHash(password)); User loggedUser = daoActor.loginUser(login, password); if (loggedUser != null) { - // FIXME delete previous tokens - // daoActor.deleteTokens(login, 10 * 60 * 1000); - + daoActor.deleteTokens(loggedUser, 24 * 60 * 60 * 1000); LoginAction loginAction = new LoginAction(); loginAction.setLoggedUser(loggedUser); - loginAction.setTime(new Date()); + loginAction.setLoginDate(new Date()); loginAction.setToken(UUID.randomUUID().toString()); daoActor.saveToken(loginAction); token = loginAction.getToken(); Modified: trunk/simexplorer-is/src/site/fr/rst/todo.rst =================================================================== --- trunk/simexplorer-is/src/site/fr/rst/todo.rst 2008-02-26 12:58:30 UTC (rev 1250) +++ trunk/simexplorer-is/src/site/fr/rst/todo.rst 2008-02-26 13:00:18 UTC (rev 1251) @@ -33,7 +33,7 @@ - (NOK) Mettre à jour les entêtes de fichier avec la bonne licence GPL - ( OK) Decouper les métadonnées en deux parties : celles propres à SimExplorer et celles propres au SI. - - (NOK) [1] Refondre les entités afin de les générer depuis un modèle et gérer la + - (NOK) Refondre les entités afin de les générer depuis un modèle et gérer la sérialisation par outils comme JAXB/XStream, ceci dans un module propre (et non inclu avec les autres classes storage)
participants (1)
-
glandais@users.labs.libre-entreprise.org