Postado originalmente por
2fast4youbr
Uelsey,
Realmente você acertou! olhando no sql.conf, depois tem de ir no /etc/freeradius/sql/mysql/ e nele editar o arquivo dialup.sql que é o utilizado por default pelo freer pra autenticação! Nele vai ter a query basica, dai basta modificar pra necessidade de cada um:
Código :
authorize_check_query = "SELECT id, username, attribute, value, op \
FROM ${authcheck_table} \
WHERE username = '%{SQL-User-Name}' \
ORDER BY id"
authorize_reply_query = "SELECT id, username, attribute, value, op \
FROM ${authreply_table} \
WHERE username = '%{SQL-User-Name}' \
ORDER BY id"
Nop meu caso, eu vou adicionar duas colunas na tabela radcheck do tipo data e no sql vou deixar assim:
Código :
authorize_check_query = "SELECT id, username, attribute, value, op \
FROM ${authcheck_table} \
WHERE username = '%{SQL-User-Name}' AND (curdate()>=CheckIN AND curdate()<=CheckOUT) \
ORDER BY id"
Porem não sei se essa é a melhor maneira e nem a mais certa.
meu problema hoje é que esse hotspot ta em um hotel, hoje cadastramos conforme o hospede faz checkin, porem meu problema é quando um hospede tem o mesmo sobrenome de outro e eles ficaram no mesmo quarto. Ex:
Hospede1 = Sobrenome = Silva // apto 111 // checkin 1/1/2012 // checkout 1/2/2012
Hospede2 = Sobrenome = Silva // apto 111 // chekin 1/1/2013 // checkout 1/2/2013
Um ficou conosco em 2012 e o outro em 2013 , ambos no mesmo quarto 111
No login do hotspot nos pedimos login (sobrenome) e a senha (nº apto), no caso, SILVA e 111 . Ou seja, se o hospede velho estiver proximo de nós, o login antigo dele irá funcionar junto do login do hospede atual.
Minha ideia é modificar a tabela radcheck e adicionar 2 colunas (CheckIN e CheckOUT), dai o script que alimenta o freeradius vai fazer o INSERT com esses 2 parametros novos.
Dai na tela de login, vou pedir o SobreNome, Apto e Data CheckOut e como eu modifiquei o script dialup.sql , ele so vai conseguir achar o SILVa certo, pois caso o antigo passe pelo hotel e tente logaar, ele não vai acertar a data de checkout do novo hospede, invalidando o login dele.
So falei tudo isso caso alguem que trabalhe com hotel precise de algo parecido. Varios hoteis tem isso, porem não achei nenhuma solução pra fazer o usuario ser único , só adicionando a data na jogada.
Pra base não crescer sem limite, posso fazer um script que roda todo começo de mes que apaga todos os usuarios com o CheckOUT data inferior ao mes corrente.
Valeu !