Usuário com melhor resposta
WSAT e Membership Utilizando tabelas de meu negócio

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
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
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 -
-
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 -
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.
-
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
-