package org.beangle.security.monitor.service;
import java.sql.Timestamp;
import org.beangle.model.entity.Model;
import org.beangle.security.auth.Authentication;
import org.beangle.security.auth.provider.AbstractAuthenticationListener;
import org.beangle.security.auth.session.OnlineActivity;
import org.beangle.security.auth.session.SessionActivity;
public class OnlineActivityPersister extends AbstractAuthenticationListener {
public void afterAuthenticate(Authentication auth) {
}
public void afterRemove(OnlineActivity info) {
SessionActivity record = (SessionActivity) Model.newInstance(SessionActivity.class);
record.setSessionid(info.getSessionid());
record.setName((String) info.getPrincipal());
record.setFullname(info.getFullname());
record.setCategory(info.getCategory());
record.setLoginAt(info.getLoginAt());
record.setHost(info.getHost());
record.setLastAccessAt(info.getLastAccessAt());
record.setLogoutAt(new Timestamp(System.currentTimeMillis()));
record.setRemark(info.getRemark());
record.calcOnlineTime();
entityDao.saveOrUpdate(record);
}
}