none
Duvida com Single Sign-On RRS feed

  • Pergunta

  • Bom dia,

    preciso desenvolver um esquema de SSO (Single Sign-On) na empresa e gostaria de saber como que eu poderia desenvolver um.

    Durante as minhas pesquisas eu vi um jeito fazer utilizando WebServices mas não consegui entender como que é feita a comunicação entre eles, será que alguem poderia ajudar?

    quarta-feira, 6 de julho de 2011 14:24

Respostas

  • Não sei se estou sendo simplista demais com relação à sua pergunta, mas eu já fiz algo do tipo usando cookie.

    Em um Form1.aspx, por exemplo:

     

            //Cookies
            HttpCookie cookie = new HttpCookie("myCookie");
            cookie.Values.Add("nome", txtNome.Text.Trim());
            cookie.Values.Add("email", txtEmail.Text.Trim());

            DateTime now = DateTime.Now;
            //Cookie expirará em 1 hora
            cookie.Expires = now.AddHours(1);
            Response.Cookies.Add(cookie);

            //Redirecionando
            Response.Redirect("Form2.aspx");

     

    E no Form2.aspx:

            //Cookies
            HttpCookie cookies = Request.Cookies["myCookie"];
            txtNome.Text = cookies.Values["nome"];
            txtEmail.Text = cookies.Values["email"];

     

    Desta forma você poderia criar apenas 1 cookie no navegador do usuário e o mesmo seria compartilhado por N aplicações e teria um tempo de expiração. Mesmo sites como Gmail e Orkut compartilham login desta forma. Você se loga em um site e o outro já identifica automaticamente o login. Apesar de seus prós e contras, esta é uma solução simples e rápida.

     

    Espero ter ajudado,

    Abs


    Rodolfo Paoni


    • Marcado como Resposta JuniorFrenzel quarta-feira, 6 de julho de 2011 19:07
    quarta-feira, 6 de julho de 2011 19:05

Todas as Respostas

  • Não sei se estou sendo simplista demais com relação à sua pergunta, mas eu já fiz algo do tipo usando cookie.

    Em um Form1.aspx, por exemplo:

     

            //Cookies
            HttpCookie cookie = new HttpCookie("myCookie");
            cookie.Values.Add("nome", txtNome.Text.Trim());
            cookie.Values.Add("email", txtEmail.Text.Trim());

            DateTime now = DateTime.Now;
            //Cookie expirará em 1 hora
            cookie.Expires = now.AddHours(1);
            Response.Cookies.Add(cookie);

            //Redirecionando
            Response.Redirect("Form2.aspx");

     

    E no Form2.aspx:

            //Cookies
            HttpCookie cookies = Request.Cookies["myCookie"];
            txtNome.Text = cookies.Values["nome"];
            txtEmail.Text = cookies.Values["email"];

     

    Desta forma você poderia criar apenas 1 cookie no navegador do usuário e o mesmo seria compartilhado por N aplicações e teria um tempo de expiração. Mesmo sites como Gmail e Orkut compartilham login desta forma. Você se loga em um site e o outro já identifica automaticamente o login. Apesar de seus prós e contras, esta é uma solução simples e rápida.

     

    Espero ter ajudado,

    Abs


    Rodolfo Paoni


    • Marcado como Resposta JuniorFrenzel quarta-feira, 6 de julho de 2011 19:07
    quarta-feira, 6 de julho de 2011 19:05
  • acabei fazendo desta forma mesmo e deu certo.

     

    Obrigado.

    quarta-feira, 6 de julho de 2011 19:07