troca de usuario logado
06/09/2010 00:00
package br.sde.admin
import java.io.Serializable
class Participante implements Serializable {
static final long serialVersionUID = 1L;
Equipe equipe
String nome
String email
String login
String senha
static belongsTo = Equipe
static constraints = {
nome(length:2..100,blank:false)
email(email:true)
login(unique:true,blank:false)
senha(size:5..20,blank:false)
equipe(nullable:false)
}
}
def participante = Participante.findByLoginAndSenha(params.login,params.senha)
if(participante) {
session.participante = participante.id
redirect(controller:"principal",action:"inicio")
}
def participante = Participante.get( session.participante )
class LoginController {
def index = { redirect(action:login,params:params) }
def login = {
if (request.method == "GET") {
session.participante = null
def participante = new Participante()
flash.login = 'efetue o login'
redirect(controller:'central',action:'inicial')
} else {
def participante = Participante.findByLoginAndSenha(params.login,params.senha)
if(participante) {
participante.ultAcesso = participante.acesso
participante.acesso = new Date()
participante.numAcessos = participante.numAcessos + 1
participante.save()
session.participante = participante.id
redirect(controller:"principal",action:"inicio")
} else {
flash.login = 'login ou senha incorreta'
render(view:'/central/inicial')
}
}
}
def logout = {
session.participante = null
redirect(controller:'central',action:'inicial')
}
def direciona = {
render( view:'/central/direciona' )
}
}
abstract class BaseController {
// verifica se participante esta logado
def autParticipante() {
if(!session.participante) {
def originalRequestParams = [controller:controllerName,action:actionName]
originalRequestParams.putAll(params)
session.originalRequestParams = originalRequestParams
redirect(controller:'login',action:'direciona')
return false
}
}
}
class SessaoFilters {
def filters = {
all(controller:'*', action:'*') {
before = {
( session.participante )
request.participante = Participante.get( session.participante )
}
after = {
}
afterView = {
}
}
}
}
Para se registrar, clique aqui.