Você está na página 1de 7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

Thiago Maral
ASP.N ET, AJAX, SQL Se rve r

Posts RSS

Comentrios RSS

Contate

Adicionando uma pgina de cadastro de usurios


(Hotspot) em ASP.NET no Mikrotik
POSTADO POR THIAGO MARAL ON SEGUNDA-FEIRA, 5 DE SETEMBRO DE 2011 / MARCADORES: API, HOTSPOT, HTML, INTEGRAO,
IP, LINUX, MIKROTIK, REDE, SSL, TCP, WINDOWS

Cada projeto que pego, uma aventura nova a ser encarada! Dessa vez me adentrei no
universo de Linux, rede, SSH, infra e tudo o que direito. Quem no conhece, a Mikrotik
uma empresa de grande referncia no que tange em equipamentos para redes de

O que pretendo
Compartilhar idias e ajudar a comunidade web
com mais cdigos que, espero, sejam teis.

Arquivo
2011 (26)

computadores. Seu principal destaque o RouterOS que sistema operacional que torna o

Novembro (5)

roteador um poderoso gerente de rede. Dentro do Mikrotik (irei me referenciar sempre dessa

Setembro (3)

forma generalizando como um produto), h o HotSpot. Com ele pode-se gerenciar quem ir
autenticar na rede para usar a internet (ou apenas a intranet), banda usada, taxa de
transferncia e outras funcionalidades por usurio ou de forma geral. Um exemplo de uso
desse sistema de quando voc vai a uma rede corporativa onde precisa autenticar-se para
usar a internet... isso!

Adicionando uma pgina de cadastro de


usurios (Ho...
Recuperando a senha da conta identidade
do Pool de...
Calculando saldo final no Crystal Reports
Agosto (2)
Julho (5)
Abril (1)
Maro (4)
Fevereiro (6)
2010 (48)

Posts mais lidos


Ler cdigo de barras atravs de um
leitor ptico com ASP.NET
No h nenhum segredo ou driver
especfico para realizar a leitura.
Basicamente o leitor ptico l o
cdigo de barras, converte para string ...

Qual o objetivo desse artigo ento? A princpio apenas obter as pginas originais de
hotspot do Mikrotik, colocar um redirecionador para uma pgina externa, criar uma pgina
externa de cadastro de usurio (para que possa acessar a rede) e fazer funcionar. No
ensinarei como configurar ou criar o hotspot. Pela net h vrios tutoriais muito bons sobre o
assunto e tambm no de minha rea. Recomendo fortemente o frum da UnderLinux que l o pessoal manja muito no assunto.
Nesse artigo usei o Mikrotik MKBR100 que bem fcil de usar: basta plugar o cabo de rede
da internet, do servidor e da energia. Pronto!

No foi possvel carregar arquivo ou assembly


System.Web.Extensions, Version=2.0.0.0
Dica rpida para quem tiver esse erro... Acontece
quando est utilizando uma verso do ASP.NET
Ajax diferente do Framework da aplicao....
Adicionando uma pgina de
cadastro de usurios (Hotspot) em
ASP.NET no Mikrotik
Cada projeto que pego, uma
aventura nova a ser encarada!
Dessa vez me adentrei no universo de Linux,
rede, SSH, infra e tudo o que direi...
Gerando relatrios com o Crystal
Reports
O Crystal Reports um
componente que permite a criao
de relatrios personalizados de
alto nvel. Em substituto de relatrios em HTML
pur...

Para acessar seu SO, deve-se utilizar o Winbox como se fosse um daqueles players de
mquina virtual ou OpenSSH. Vamos l colocar a mo na massa!
Conecte o cabo de rede de seu PC (ou servidor) na porta (interface) ether2 do Mikrotik. Agora
conecte outro cabo na ether1 para os outros computadores da rede (ou roteador simples).

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

Corrigindo dois erros em uma


tacada s: O provedor
Microsoft.Jet.OLEDB.4.0 no est
registrado na mquina local e O
inicializador de tipo de
'CrystalDecisions.CrystalReports.Engine.ReportDocument'
acionou uma exceo.

1/7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

Porqu na ether1? Estou considerando que o hotspot est configurado para monitorar essa

Problema: Porque o sistema operacional 64bits.

interface enquanto a ether2 ser utilizado para que o servidor de comunique com o aparelho.

Soluo: Modo de compatibilidade em 32bits.


Bom se todo post fosse assim to rpido p...

Seria algo do tipo:

V em IP > Address no Mikrotik para que sejam configuradas as interfaces e sejam


endereados conforme os exemplos abaixo:

ether1: 192.168.88.1
ether2: 192.168.88.2

Somente atravs de IP que ser possvel enviar os arquivos do hotspot. Se ficar conectando,
via MAC, pelo Winbox, voc ter a mensagem de erro: "router has been disconnected"
(logo, conecte-se usando a ether2 - 192.168.88.2). E outra coisa : se no seguir o esquema
acima, outros erros voc ter, como:

Tags
acesso simultneo (1)
ajax (6)
analytics (1)
api (2)

could not connect to ... no response

application (2)

could not connect to ... connection refused

asp (1)
backup (1)

could not connect to ... network is unreachable

banco de dados (5)

could not fetch index from ... not found

blog (1)
boleto bancrio (1)
captcha (1)

Tudo isso por causa de configurao apenas! bom deixar o IP do servidor fixo para que

cep (1)

possa dar permisso de porta, firewall, etc. No caso deixei como 192.168.88.30 (que no caso

certificado digital (2)

era minha prpria mquina). Uma dica: s vezes d um reboot no aparelho!

chat (1)
cloud server (1)

O prximo passo ativar a porta da API que o Mikrotik dispe para integrao com
linguagens de programao. atravs dela que iremos conectar e fazer a comunicao. S
que precisamos ativ-la. V em IP > Services e ative a API na porta 8728.

clr (1)
componentes (7)
correios (2)
crash (3)
crop (1)
crystal reports (4)
cufon (1)
cdigo de barras (1)
deadlock (1)
desempenho (3)
dicas (34)
diretrio virtual (1)
dll (18)
e-mail (1)
erros (3)
exportao (1)
firebird (1)
flash (2)
frete (1)
ghostscript (1)

Tambm libere, no Firewall, as portas para conexo tanto do sistema quanto do Winbox (pelo

google (3)

IP), seno quando estiver acessando pela pgina de cadastro, ir surgir o erro: "nenhuma

grficos (1)
handler (4)

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

2/7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

conexo pde ser feita porque a mquina de destino as recusou ativamente ..:8728.".

host (1)
hotspot (1)
html (3)
iis (10)
imagem (5)
importao (1)
integrao (2)
ip (3)
javascript (6)
jquery (3)
komerci (2)
linux (2)
locaweb (1)
log (1)
master page (1)
memria (1)
microterminal (1)

Para permitir a navegao e envio de informaes, adicione as permisses no Walled


Garden.

mikrotik (1)
mootools (1)
multi-upload (1)
mvc (1)
mysql (2)
nfe (5)
nota fiscal eletrnica (5)
pagseguro (1)
pdf (2)
php (1)
plesk (2)
post (1)
rede (2)
relatrio (1)
resources (1)
rss (1)
salvador (6)
scanner (1)
segurana (4)

Vejam que at o momento tudo configurao e nada de programao. Continuemos...

sesso (1)
site (2)

Agora vamos em Files e selecione todos os arquivos da pasta hotspot, arraste para sua rea

som (1)

de trabalho que ser copiado. Para enviar faa o processo inverso... Se estiver acessando

sql server (8)

pelo IP vai dar certo, seno cair a conexo (lembra que disse acima?).

sqldatasource (1)
ssl (2)

Abra o HTML da pgina login.html e acione um link para a pgina de cadastro que ficar
hospedada no servidor. Adicionei o link <a
href="http://192.168.88.30/mikrotik/cadastro.aspx">cadastre-se</a> .
Customize as demais pginas como desejar e as envie de volta. Praticamente terminamos de
trabalhar no Mikrotik.

tcp (2)
template (1)
thumbnail (4)
upload (2)
visual studio (5)
web (1)
web-service (4)

Agora vem o mais simples: criar a pgina ASP.NET. Voc pode utilizar qualquer linguagem de

web.config (5)

programao que possa usar TCP na comunicao e que a API suporte: PHP, Delphi, C, C++,

windows (9)

C#, Flash, Ruby on Rails, Java, Python, VB.NET, etc.

winform (3)
wordpress (1)

Faa o download da classe MK, em C# (eles j dispe de classes prontas para outras

wsdl (1)

linguagens tambm), nesse link aqui e adicione no seu projeto. Agora crie um Web Form

xml (5)

adicionando os campos que queira trabalhar. No meu exemplo, s quis login (username) e
senha. Adicione um Button e um mtodo para executar o cadastro do usurio conforme
exemplo abaixo:

Inscrever-se
Postagens

// Autenticao

Comentrios

MK mikrotik = new MK("192.168.88.2");


if (!mikrotik.Login("admin", ""))
{
ScriptManager.RegisterStartupScript(Page, typeof(Page),

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

3/7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

"alert", "alert('Houve um problema de comunicao com o Hotspot! Por favor,


tente mais tarde.');", true);
mikrotik.Close();
return;
}

// Requisio
mikrotik.Send("/ip/hotspot/user/add");
mikrotik.Send("=name=" + nome.Text);
mikrotik.Send("=password=" + senha.Text, true);

//Retorno
string retorno = string.Empty;
foreach (string h in mikrotik.Read())
{
if (retorno != string.Empty)
retorno += ", ";
retorno += h;
}

// Fecha objeto
mikrotik.Close();

// Validao
if (retorno.ToLower().Contains("!done=ret="))
ScriptManager.RegisterStartupScript(Page, typeof(Page),
"alert", "alert('Cadastro realizado com sucesso!');
location.href='http://192.168.88.1/login.html';", true);
else if (retorno.ToLower().Contains("message=failure: already
have user with this name for this server"))
ScriptManager.RegisterStartupScript(Page, typeof(Page),
"alert", "alert('J existe um usurio com esse nome!');", true);
else
ScriptManager.RegisterStartupScript(Page, typeof(Page),
"alert", "alert('Falha no cadastro: " + retorno + "!');", true);

Voc poderia no s fazer o cadastro de usurio no hotspot como tambm executar qualquer
comando (SSH) no Mikrotik. Lembrando que eu atropelei muita coisa a no que diz respeito a
configurao do dispositivo na qual disse logo no incio que no era minha finalidade. Vocs
observaram que a parte de programao bem simples do que configurao... e com certeza
! Agora nunca ir sair de minha cabea a palavra
Mikrotik Mikrotik Mikrotik Mikrotik Mikrotik ... Por favor, qualquer erro ou informao
adicional me avise!
[]'s

17 com entri os:

Paschoal disse...
ola amigo ... gostei do seu artigo ... mais eu to querendo colocar na minha pagina do hostport em
botao de cadastro ... e que esse cadastro quando efetuado... mostre o valor em hora e nao em
velocidade ... e que o pagamento seja feito pelo mercado pago ... e que eu seja avisado no meu
Imail ... sera que tem como ... forte abrao ... wbp_wbp@hotmail.com
3 de dezembro de 2011 21:23

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

4/7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

Thiago Maral disse...


Paschoal, tem como sim. H duas formas de fazer isso: da mesma forma como fiz acima s
que voc ter que mudar a pgina de cadastro do usurio adicionando o envio de e-mail e o
clculo da cobrana. A outra forma tentar embutir no prprio Mikrotik o formulrio de cadastro
essas condies o que, ao meu ver, mais trabalhoso. Veja no link
http://www.google.com.br/#sclient=psy-ab&hl=ptBR&biw=1473&bih=797&source=hp&q=mikrotik+formul%C3%A1rio+google&pbx=1&oq=mikrotik+formul%C3%A1rio+google&aq=f&aqi=qw1&aql=1&gs_sm=e&gs_upl=267l7179l0l7468l24l18l0l3l3l0l1336l10150l41.5.5.2l16l0&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=9a6d4b235a01f0fb
Preferi separar o formulrio de cadastro em outro servidor para ficar mais fcil a manuteno e
utilizar a linguagem de programao que quiser. Dentro do Mikrotik a programao limitada.
4 de dezembro de 2011 13:23

Christian disse...
ola ate a parte de inseri o link foi numa boa, mais sou muito fraco em criao de paginas, e asp
net fica fora dos meus conhecimentos, tentei usando o front page criar a pagina mais dai em
diante nada andou, vc poderia ajudar postando ou enviando para email um passo a passo para
pessoas como eu que nada sabe de programao. cwsm@live.com
18 de dezembro de 2011 12:52

Thiago Maral disse...


Christian, o passo-a-passo que fiz foi exatamente esse. Nada de diferente... O que mostrei foi
muito de configurao do Mikrotik. A programao em ASP tambm resume-se nisso a. No
tem muito o que ajudar nesse aspecto, mas qual seria o seu objetivo? Seria tambm fazer o
cadastro? Posso depois lhe enviar as pginas produzidas e programadas das quais fiz o teste.
Pode ser?
18 de dezembro de 2011 21:20

Hayttle Soljnivisk disse...


Oi Thiago, uma soluo dessa que estou procurando. J vi em outro hotspot em que o cliente
se conecta na rede, j navega na pgina do hotspot e l tem as opes de planos para se
cadastrar, ele escolhe o plano de acesso e quando clica em comprar, direcionado para outra
pgina com formulrio para preencher os seus dados para pagamento, seja por carto de crdito
ou pagseguro. Como seria possvel fazer essa implementao em uma pgina de hotspot?
Grande abrao.
Hayttle
19 de fevereiro de 2012 21:12

Thiago Maral disse...


Hayttle, a essncia quase a mesma. O que muda a pgina de cadastro que ter que alter-la
para funcionar dessa forma. Lembrando que essa pgina de cadastro deve ficar em outro
servidor, pois a programao dentro do hotspot no permitida de acordo com esse contexto.
Se voc souber um pouco de programao d para fazer essa pgina tranquilamente. Ento
voc publica esse formulrio em alguma servidor de aplicao e faz as devidas configuraes no
hotspot para ir a essa pgina.
23 de fevereiro de 2012 06:15

Maranhao disse...
Boa dia Thiago.
Gostei muito do seu tutorial. Mas mesmo que ele esteja mastigadinho eu to apanhando pakas..
No tenho conhecimento em ASP. Teria como me enviar esta pgina pronta e programada, se
nao for um abuso meu te pedir isso!? Segue e-mail, se possvel: maranhao_net@hotmail.com
30 de maro de 2012 11:07

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

5/7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

diego software disse...


eu fechei um contrato com uma escola pra colocar paginas de login,para os alunos naum
mecherem na internet porque eles usam a opo de mostrar senha da internet no windows 7,
mais como eu naum entendo muito disso vou direto ao ponto,
eu moro a uns 700 km da escola e ja sei instalar o servidos mikrotik em um pc com duas placas
de redes e distribuir a internet pra naum haver fraude eu queria criar uma pagina apenas para um
usuario em especifico pra adcionar e exclui usuarios do sistema, e colocar tambem na pagina de
login a opo do proprio usuario alterar a sua senha, com dados do tipo de pergunta secreta e
tal, seria possivel isso
10 de maio de 2012 22:15

Thiago Maral disse...


Diego, possvel sim. Todos os dados que so armazenados no Hotspot podem ser
manipulados via API. Quanto pergunta secreta no sei se ser possvel porque acho que esse
dado no pode ser armazenado no cadastro a no ser que utilize um banco de dados parte
para realizar isso.
10 de maio de 2012 22:53

nick-rj disse...
Me da uma ajuda a eu nao tenho um sistema pronto que cadastra pppoe no mysql e tudo mais,
s nao consigo essa integracao direta com mk porque nao sei uma usar esse api, me da um
help ai. Quando crio um aplicacao agente joga na pasta bim alguma possivel dll tipo a do mysql
porexemplo e essa api? Programa com c#. Meu e-mail maicon.tab10@gmail.com
5 de junho de 2012 18:51

Thiago Maral disse...


nick-rj voc pode fazer isso tanto com ASP.NET quanto PHP, por exemplo. Na verdade, no
prprio site da Mikrotik j dispe algumas classe prontas para uso:
http://wiki.mikrotik.com/wiki/Manual:API . No precisa de DLL, apenas a classe dentro de sua
aplicao.
7 de junho de 2012 03:02

Annimo disse...
Tem como ser em ASP no lucar de ASP.NET?
luisecia@hotmail.com
22 de outubro de 2012 17:54

Thiago Maral disse...


Possvel , contudo mais trabalhoso uma vez que na prpria wiki eles no dispe o cdigo
pronto: http://wiki.mikrotik.com/wiki/Manual:API#API_examples_in_the_Wiki . Para fazer em
ASP clssico voc poderia converter o cdigo PHP ou usar o modelo em VB ou fazer uma
chamada uma biblioteca compilada em C#. Infelizmente no tenho o cdigo convertido :(
22 de outubro de 2012 18:11

Daniel Mello disse...


Thiago, Beleza... Seu tutorial extremamente jia! valeu! Preciso s tirar uma dvida, mas aps
o cliente efetuar o registro j sai navegando? como fao para que o cliente primeiro faa o
cadastro e depois que pagar possa navegar?!
11 de julho de 2013 09:23

Thiago Maral disse...


Daniel, s fiz a parte mesmo do cadastro. A autenticao no fiz, pois depois do cadastro volto
para a tela de autenticao do prprio hotspot (j que ele tem tudo j pronto para fazer o login).
Para fazer o login automtico aps o cadastro, teria que dar uma olhada na documentao para

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

6/7

31/10/2014

Thiago Maral: Adicionando uma pgina de cadastro de usurios (Hotspot) em ASP.NET no Mikrotik

ver se h algum comando que j envie para o Mikrotik que o usurio j est logado no sistema (o
que acho que deve ter). E quanto ao pagamento, voc pode fazer de vrias formas. O que sugiro
que redirecione o cliente a uma tela de pagamento, a princpio, e que, aps efetuado, volte ao
cadastro dele. A ser um bocadinho de cdigo a ser feito :)
11 de julho de 2013 09:36

Cleber Ferreira disse...


Excelente tutorial, pesquisei demais at encontrar esse que me foi muito esclarecedor.
Se puder me tirar umas duvidas ficarei agradecido.
- D pra deixar a pagina de cadastro dentro do hotspot ao invs de usar um servidor externo?
- Tem como definir que o login precisa ser criado com nome, e-mail vlido, cpf, endereo,
telefone, data nascimento? No precisa confirmar o e-mail, somente evitar que coloquem coisas
absurdas como palavro.
- Tem como receber os e-mails cadastrados em um e-mail particular da empresa? Usaremos
estes e-mails para futuras divulgaes sem caracterizar spam.
- Na segunda vez que o usurio acessar o hotspot, ele j utilizar o login existente, sem
necessitar de novo cadastro e ter opo de recuperar senha.
Se puder me ajudar, mesmo que cobre pra isso! cleber@megalinkti.com.br
1 de dezembro de 2013 12:55

Thiago Maral disse...


Cleber, dentro do Mikrotik creio que no possvel devido ao seu framework prprio. Comentei
com alguns amigos e a soluo encontrada a utilizao dessa integrao que ele permite,
apenas. Para criao do login, os campos a serem preenchidos devem ser os mesmos que que
o hospot coleta (no pode ter um campo que ele no permite, a menos que adicione em
observao ou que seja enviada por e-mail).
A cada cadastro possvel enviar um e-mail com informaes do cadastro, sem problemas, a
menos, como disse anteriormente, que a aplicao esteja em um servidor cuja linguagem de
programao suportada realize tal funo.
S no sei te confirmar a opo de recuperao de senha. Se o hotspot permitir tal comando via
linha de comando, basta implementar a chamada. Veja se as respostas ajuda e qualquer coisa
s entrar em contato. Abs
1 de dezembro de 2013 13:13

Postar um com entri o

Digite seu comentrio...

Comentar como:

Publicar

Conta do Google

Visualizar

Postagem mais recente

Incio

Postagem mais antiga

Copyright 2009 Thiago Maral All rights reserved. Powered by Blogger


Distributed by Blogger Templates created by Deluxe Templates | Wordpress by NeoEase.

http://thiagomarcal.blogspot.com.br/2011/09/adicionando-uma-pagina-de-cadastro-de.html

Top

7/7