none
Logar em site de terceiro e redirecionar usuário para página de cadastro. RRS feed

  • Pergunta

  • Boa Noite a todos!

    Prezados, estou tentando redirecionar o usuário de uma página aspx para página de outro site, ja consegui logar no site de terceiro utilizando O Objeto HttpResponse via POST, direcionar e ver o HTML da página de cadastro. Porém até agora não consegui Redirecionar o navegador do usuário para a página de cadastro, quando uso o response.redirect o site de terceiro volta para a página de LOGIN.

    Resumindo, preciso passar as credenciais do usuário na página de Login do site de terceiro e em seguida redirecionalo para uma outra página dentro do site ja autenticado.

    Alguém sabe como resolver? nem que seja por javascript. 


    é sempre bom aprender um pouco mais.

    www.energiatotal.com.br





    quarta-feira, 18 de julho de 2012 03:48

Respostas

  • Cleidiano existem formas de fazer esse workaround.

    Por exemplo, voce pode colocar um iframe em uma div escondida em sua pagina, dentro deste iframe voce coloca um form que vai dar post no endereço onde voce quer logar, ai via javascript voce preenche o “formulário de login” e da post nest form deste seu iframe. Isso vai fazer com que o browser execute a operação e armazeno o cookie sendo assim o usuário estará logado.

    quarta-feira, 18 de julho de 2012 22:18
  • Oi, Cleidiano,

    O uso do iframe pode funcionar, mas significa mudar todo o procedimento de comunicação que já foi estabelecido.

    Pode haver uma outra opção mais simples : Se você publicar sua aplicação web dentro do mesmo servidor/site em que está o CRM, então os cookies de um valerão para outro, sua aplicação passará a fazer parte do CRM, assim um simples response.cookies para gravar o cookie no client fará o usuário estar autenticado no CRM.

    Se isso não for possível, o ideal seria consultar o fabricante da aplicação CRM para verificar que tipo de possibilidades eles fornecem para um login integrado com sua aplicação. Pode ser feita (ou pode já existir) a possibilidade de passar o token de autenticação via post ou pela url sem pedir novamente login e senha do usuário.

    Abs,

    Dennes
    http://www.bufaloinfo.com.br


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp

    quinta-feira, 19 de julho de 2012 17:45

Todas as Respostas

  • Oi,

    Quando fez todo o acesso e login via código, a resposta enviada pelo servidor contem cookies, só que estes cookies ficaram com o seu código (no servidor). Para manipular o browser você precisa que o cookie gerado pelo servidor de terceiros chegue até a máquina client onde o browser está, gerando o efeito de autenticação entre o browser e o site de terceiros.

    Abs,

    Dennes
    http://www.bufaloinfo.com.br


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp

    quarta-feira, 18 de julho de 2012 16:38
  • Dennes,

    Realmente recebo o cookie com a identificação da Sessão "SESSIONID" com o valor Ex: "1234567890...", eis o problema, como replicar esse Cookie para o navegador do usuário no redirecionamento para o site do terceiro. 

    Por favor, preciso urgente disso, senão o projeto que tenho prazo para entregar será prejudicado.

    Se conseguir gerar esse efeito de autenticação pelo browser, terei 80% do projeto concluído, uma vez que ao deixar o usuário na página de destino(site de terceiro) já com os dados em sua tela ele mesmo dará continuidade ao seu trabalho.

    Att.

    Cleidiano


    é sempre bom aprender um pouco mais. - www.tanabiblia.com.br

    quarta-feira, 18 de julho de 2012 17:20
  • Cleidiano,

    Por questão de segurança, você não consegue acessar os cookies de outros sites na máquina do usuário. Ou seja, no seu server você tem acesso ao cookie da sua página e não de outras.

    Como o Dennes explicou acima, você usou o HttpResponse, e o site gerou o cookie para esse seu acesso, e ao redirecionar o usuário ele não possui o cookie, portanto ele é direcionado ao login.

    Não sei o que o usuário precisará fazer nessa página, mas você não pode requisitar as informações e você as inserir na página através de seu acesso no server?


    Alexsandre Rodrigues de Almeida - MCTS .NET Framework - Web Applications
    E-mail: alexsandrer@gmail.com
    Twitter: @AlexRAlmeida

    quarta-feira, 18 de julho de 2012 19:10
  • Alexsander,

    Obrigado por tentar me ajudar.

    Vou tentar contextualizar o processo para ver se vocês conseguem me ajudar nisso.
    Desenvolvi uma ferramente onde listo a localização de empresas em um mapa do Google, e coloco algumas informações sobre as tais.
    O Usuário ao clicar em uma dessas empresas, pego o ID da mesma passo as credenciais para o software de terceiro (CRM aqui da empresa) via server "HttpResponse" consigo passar outros dados e submeter etc. Após isso preciso abrir o formulário já com as informações desse cliente para que o usuário de continuidade ao trabalho em seu navegador, pois, temos algumas limitações e não quero reinventar a roda colocando em outra aplicação CRUD e consultas que já existem no CRM:  Assim aproveito o que faz parte dessa ferramenta sem necessitar de contruir N cadastros, N Consultas ETC. 

    Se fosse apenas para preencher formulários do site de terceiro isso não seria problema, uma vez que já consigo fazer como informado acima.

    Se não conseguir isso, terei que criar essas telas de cadastros, consultas edições etc em ASPNET e criar conexões com o banco do CRM, ou solicitar ao fornecedor webservice o que demandaria muito tempo para concluir, bem como que qualquer mudança nas regras de negócio do CRM me obrigaria a alterar regra também na aplicação ASPNET.



    é sempre bom aprender um pouco mais. - www.tanabiblia.com.br

    quarta-feira, 18 de julho de 2012 19:43
  • Cleidiano existem formas de fazer esse workaround.

    Por exemplo, voce pode colocar um iframe em uma div escondida em sua pagina, dentro deste iframe voce coloca um form que vai dar post no endereço onde voce quer logar, ai via javascript voce preenche o “formulário de login” e da post nest form deste seu iframe. Isso vai fazer com que o browser execute a operação e armazeno o cookie sendo assim o usuário estará logado.

    quarta-feira, 18 de julho de 2012 22:18
  • Anselmo,

    Tentarei aplicar o que você falou; Você tem algum exemplo para que eu possa tentar adiantar as coisas?


    é sempre bom aprender um pouco mais. - www.tanabiblia.com.br

    quinta-feira, 19 de julho de 2012 02:03
  • Oi, Cleidiano,

    O uso do iframe pode funcionar, mas significa mudar todo o procedimento de comunicação que já foi estabelecido.

    Pode haver uma outra opção mais simples : Se você publicar sua aplicação web dentro do mesmo servidor/site em que está o CRM, então os cookies de um valerão para outro, sua aplicação passará a fazer parte do CRM, assim um simples response.cookies para gravar o cookie no client fará o usuário estar autenticado no CRM.

    Se isso não for possível, o ideal seria consultar o fabricante da aplicação CRM para verificar que tipo de possibilidades eles fornecem para um login integrado com sua aplicação. Pode ser feita (ou pode já existir) a possibilidade de passar o token de autenticação via post ou pela url sem pedir novamente login e senha do usuário.

    Abs,

    Dennes
    http://www.bufaloinfo.com.br


    Dennes - Se resolveu, classifique a mensagem, por favor - [http://www.bufaloinfo.com.br] NOVO DVD Segurança no ASP.NET : http://www.bufaloinfo.com.br/LearingSeriesSegurancaASPNET2.asp

    quinta-feira, 19 de julho de 2012 17:45
  • Dennes,

    Obrigado pela ajuda pois funcionou perfeitamente, Porém não queríamos deixar tudo no mesmo servidor/domínio, até que consigamos uma solução junto ao fornecedor ou desenvolvimento total da ferramenta estaremos deixando tudo no mesmo servidor conforme sua sugestão para contornar o problema.

    Mais uma vez obrigado, e estarei marcando sua ajuda como resposta.


    é sempre bom aprender um pouco mais. - www.tanabiblia.com.br

    sexta-feira, 20 de julho de 2012 18:41
  • http://cashtorefer.net/Default.aspx?Refer=626333

    segunda-feira, 29 de julho de 2013 23:03
  • http://cashtorefer.net/Default.aspx?Refer=626333

    segunda-feira, 29 de julho de 2013 23:03