none
WSAT e Membership Utilizando tabelas de meu negócio RRS feed

  • Pergunta

  • Boa Noite Pessoal,

    Esstou fazendo alguns exemplos utilizando WSAT, criando as tabelas de acesso(membership), mas no meu exemplo é o seguinte:
    * Uma academia que teria um painel de acesso de administradores, professores e alunos
    * Os adminstradores cria acesso para os professores e alunos
    * Os professores cria acessos para os alunos e treinos para cada um deles
    * Os alunos tem acessos aos treinos somente


    Começei a modelar os dados no banco de dados e me deparei com a seguinte dúvida. O membership cria as tabelas automática e eu preciso criar uma tabela chamada TB_TREINO e nesta tabela terá que ter o ID do PROFESSOR e do ALUNO.

    A pergunta é a seguinte como fazer para desenvolver um projeto no esquema mostrado acima utilizando com WSAT e criando as tabelas com Membership, mas conseguindo aproveitar o ID do Membership do usuário junto a uma outra tabela do meu negócio, que no caso meu seria TB_TREINO ? pois tenho que fazer uma referência do usuário que está acessando o painel.

    Espero que ter me explicado direito a minha dúvida.

    • Editado diego.web terça-feira, 28 de fevereiro de 2012 02:34
    terça-feira, 28 de fevereiro de 2012 02:33

Respostas


  • Olha, aí você precisa customizar o provider do membership, nessa URL tem essa parte de customização.

    Dependendo o tamanho da customização, talvez seja mais rápido/barato você criar sua própria class de autenticação de usuário e gravação de log.



    Thiago Rogerio
    www.thiagorogerio.com.br
    thiagorogeriobr@hotmail.com

    • Marcado como Resposta diego.web quarta-feira, 29 de fevereiro de 2012 23:22
    quarta-feira, 29 de fevereiro de 2012 17:51

Todas as Respostas


  •    Bom dia!!

          Você pode pegar os dados do usuário logado com o comando abaixo:

    Membership.GetUser();


         Depois quando você precisar exibir os dados de um usuário, você pode usar o método abaixo para recuperar as informações dele do provider:

    Membership.GetUser("parametro");

      Mais informações e documentação desses métodos: http://msdn.microsoft.com/pt-br/library/system.web.security.membership.getuser.aspx

     Espero ter lhe ajudado!! Se lhe foi útil, marque como resposta!!  Obrigado!!


    Thiago Rogerio
    www.thiagorogerio.com.br
    thiagorogeriobr@hotmail.com

    terça-feira, 28 de fevereiro de 2012 13:59
  • Thiago,

    E como funcionaria a minha tabela de TB_TREINO do campo id_aluno, crio este campo com os mesmos atributos da tabela de Users do Membership ? pois eu preciso ter um campo que faça a referência aos usuários.

    Por favor me ajude!

    terça-feira, 28 de fevereiro de 2012 15:44
  •  Boa tarde!!

        Na TB_TREINO você pode ter uma coluna para armazenar o userGuid do usuário ou então armazenar o userName mesmo.

      Se você armazenar o userGuid, quando for exibir, por exemplo, quem cadastrou o treino, você precisará resgatar o userName do membership usando o userGuid.

       Agora se você armazenar o userName, você pode exibir ele diretamente, sem necessidade de localizar o usuário, pois o userName é unico e é um nome e não um código como o userGuid.

      Exemplo:

               MembershipUser usuario = Membership.GetUser();
               string userName = usuario.UserName;
               string userGuid = usuario.ProviderUserKey.ToString();


       Exemplo desse código em execução com um usuário logado na aplicação:

     Espero ter lhe ajudado!! Se lhe ajudou, marque como resposta!! Obrigado!!


    Thiago Rogerio
    www.thiagorogerio.com.br
    thiagorogeriobr@hotmail.com

    terça-feira, 28 de fevereiro de 2012 16:12
  • Thiago,

    E para fazer o relacionamento entre as tabelas, seria a tabela do Membership de Users com a do TB_TREINO, ou não faz ?

    E para realizar INNER JOINS para consultas no banco para caputurar informações do usuários pelo banco de dados, faço de forma normal ?

    É que isso vai virar um projeto, e estou preocupado. Quero ter a certeza que eu posso encarar, mesmo que depois eu vou tirando dúvidas. Talvez ate mantendo um contato com você, caso você aceite.

    Abs.

    quarta-feira, 29 de fevereiro de 2012 03:04

  • Olha, aí você precisa customizar o provider do membership, nessa URL tem essa parte de customização.

    Dependendo o tamanho da customização, talvez seja mais rápido/barato você criar sua própria class de autenticação de usuário e gravação de log.



    Thiago Rogerio
    www.thiagorogerio.com.br
    thiagorogeriobr@hotmail.com

    • Marcado como Resposta diego.web quarta-feira, 29 de fevereiro de 2012 23:22
    quarta-feira, 29 de fevereiro de 2012 17:51
  • Muito bom a customização da URL que você passou, acho que no meu caso, não vai ser muito grande e entra nesta customização.

    Muito Obrigado

    quarta-feira, 29 de fevereiro de 2012 23:22