none
Pegar usuário logado no membership pelo silverlight RRS feed

  • Pergunta

  • Boa Tarde,

     

    Tenho a seguinte estrutura 

    /Suporte -> Pasta protegida por membership onde fica minha pagina principal do silverligth

    /Login.aspx

     

    Gostaria de saber se é possível dentro do silverlight pegar o usuário que logou no membership?

     

    atenciosamente,

    obrigado.

    quinta-feira, 30 de junho de 2011 18:23

Respostas

  • Boa Tarde, Américo.

     

    Como não obtive exito em pegar o usuário logado no membership fiz a autenticação no WCF assim pude criar uma tela de login diretamente no silverlight,

    com isso meu login é feito no próprio silverlight em seguida sempre que preciso requisitar algo no WCF passo username/password para ser validado e em seguida

    respondido ou não a requisição.

     

    Att

    segunda-feira, 25 de julho de 2011 18:20

Todas as Respostas

  • Espero que isso te ajude.

     

    public string GetUser()
    {
    	if (HttpContext.Current.User.Identity.IsAuthenticated)
    	{
    		string _user = HttpContext.Current.User.Identity.Name;
    		return _user;
    	}
    
    	else
    	{
    		Response.Redirect("~/Login.aspx");
    		return null;
    	}
    }
    




    Vitor Mendes | Seu feedback é muito importante para todos!

    quinta-feira, 30 de junho de 2011 19:06
  • Boa tarde, Vitor.

     

    Fiz o teste e o namespace "HttpContext.Current.User.Identity.IsAuthenticated" não esta disponivel no silverlight, dessa forma não funciona, nem mesmo encontrei a possibilidade de adiciona-lo.

     

    Atenciosamente,

    sexta-feira, 1 de julho de 2011 20:30
  • Olá, Manoel

    Crie um método no webservice:

     

    [AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Required)] 
    public class UserInfoService : IUserInfoService 
    { 
        public UserInfo GetUserInfo() 
        { 
            if (HttpContext.Current.User.Identity.IsAuthenticated) 
                return null; 
     
            var userInfo = new UserInfo 
            { 
                Login = HttpContext.Current.User.Identity.Name, 
                Fullname = ..., 
            }; 
     
            return userInfo; 
        } 
    
    

     


    Américo Arvani
    MCP Frw web 2.0 / MCPD Frw web/win/wcf 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    View Americo Arvani's profile on LinkedIn
    domingo, 3 de julho de 2011 14:27
  • Boa Tarde, Américo.

     

    Quando executo me retornar um erro que o HttpContext.Current.User.Identity.IsAuthenticated é null.

     

    Att.

    segunda-feira, 4 de julho de 2011 17:33
  • Boa Tarde, Américo.

     

    Quando executo me retornar um erro que o HttpContext.Current.User.Identity.IsAuthenticated é null.

     

    Att.


    Existe uma maneira mais facil , desculpa não verifiquei direito .

    Crie um parametro na sua pagina principal Default.aspx na inicialização do silverlight e coloque a seguinte instrução de initparams ;

    <div id="silverlightControlHost">
        <object data="data:application/x-silverlight-2," type="application/x-silverlight-2" width="100%" height="100%">		
    		 <param name="source" value="ClientBin/iGecex.xap"/>
    		 <param name="onError" value="onSilverlightError" />
    		 <param name="background" value="white" />
    		 <param name="minRuntimeVersion" value="3.0.40818.0" />
    		 <param name="autoUpgrade" value="true" />
    			
    		 <param name="Initparams"  value="UserAccount=<%=HttpContext.Current.User.Identity.Name%>" />
    
    		 <a href="http://go.microsoft.com/fwlink/?LinkID=149156&v=3.0.40818.0" style="text-decoration:none">
     			 <img src="http://go.microsoft.com/fwlink/?LinkId=108181" alt="Get Microsoft Silverlight" style="border-style:none"/>
    		 </a>
    	  </object><iframe id="_sl_historyFrame" style="visibility:hidden;height:0px;width:0px;border:0px"></iframe></div>
    

    agora para receber a informação do usuário basta criar a variavel no App.xaml.cs :

    public static string UserID = string.Empty;
    

    e popular

    UserID = e.InitParams["UserAccount"];
    

    não é necessário webservice , mas eu ainda uso,rsss.


    ref http://www.codeproject.com/KB/silverlight/SL3WindowsIdentityName.aspx

     

     


    Américo Arvani
    MCP Frw web 2.0 / MCPD Frw web/win/wcf 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    View Americo Arvani's profile on LinkedIn
    segunda-feira, 4 de julho de 2011 18:25
  • Bom dia, Américo.

     

    Muito interessante esta opção, mas quando passo um parâmetro fixo, por exemplo:

     <param name="Initparams" value="UserAccount=Manoel" />
    


    Funciona perfeitamente, mas quando passo:

     

    <param name="Initparams" value="UserAccount=<%=HttpContext.Current.User.Identity.Name%>" />
    

    Ele me retorna o: 
    UserID = e.InitParams["UserAccount"];
    

     

    em branco!.

     

    Atenciosamente,

    Obrigado.

    terça-feira, 5 de julho de 2011 12:19
  • Olá, Manoel

    De que forma você está logando no membership?

    Você tem um formulário com logon para autenticação?


    Américo Arvani
    MCP Frw web 2.0 / MCPD Frw web/win/wcf 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    View Americo Arvani's profile on LinkedIn
    terça-feira, 5 de julho de 2011 12:42
  • Bom Dia,

    Sim tenho um formulário de login com o componente LOGIN do ASP.NET. 

    terça-feira, 5 de julho de 2011 13:28
  • Depure seu código , verifique se o membership está sendo mantido na aplicação .

    No código após autenticação do usuário adicione uma label com nome do usuário autenticado, e veja se ele se perde quando passa para a aplicação em silverlight .


    Américo Arvani
    MCP Frw web 2.0 / MCPD Frw web/win/wcf 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    View Americo Arvani's profile on LinkedIn
    terça-feira, 5 de julho de 2011 13:42
  • Bom Dia,

    Sim tenho um formulário de login com o componente LOGIN do ASP.NET. 


    Olá, Manoel

    Conseguiu , se sim compartilhe sua solução , para ajudar alguem que estiver com mesmo problema.


    Américo Arvani
    MCP Frw web 2.0 / MCPD Frw web/win/wcf 3.5
    Se ajudou , marque como resposta.
    http://americoarvani.blogspot.com
    View Americo Arvani's profile on LinkedIn
    segunda-feira, 18 de julho de 2011 12:18
  • Boa Tarde, Américo.

     

    Como não obtive exito em pegar o usuário logado no membership fiz a autenticação no WCF assim pude criar uma tela de login diretamente no silverlight,

    com isso meu login é feito no próprio silverlight em seguida sempre que preciso requisitar algo no WCF passo username/password para ser validado e em seguida

    respondido ou não a requisição.

     

    Att

    segunda-feira, 25 de julho de 2011 18:20