Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

asp.net armazenam funções na sessão Roles.AddUsertoRole (não é o que estou procurando?)


Roles.AddUserToRole é realmente o que estou procurando para satisfazer minhas necessidades. Acho que preciso armazenar as funções de usuário na sessão, não é?

NÃO! Adicionar usuário a funções significa que o provedor vinculará o usuário à função. Como você já tem o usuário vinculado, essa é uma direção inútil.

armazenar essas funções de alguma forma para que eu possa exibir controles e links com base em sua associação de função

Por que você tem que fazer isso? No nível da página, você pode configurar a segurança do ASP.NET com aparas para poder excluir automaticamente as páginas da exibição do usuário se elas não estiverem na(s) função(ões) correta(s). No que diz respeito às seções/controles/etc, você pode verificar se um usuário está em uma função e, em seguida, determinar se deve ou não exibi-lo. Se você usar seções, muito disso pode ser feito de forma declarativa em vez de programaticamente.

A única ressalva é o que seu provedor de associação suporta. Os provedores "prontos para uso" (Access e SQL Server) suportam ajustes de segurança e sintaxe declarativa para exclusões de seções de uma página, etc. Se o provedor MySQL implementa completamente todos os métodos, você também deve usá-lo . Se você criar um provedor personalizado, há certas partes que VOCÊ precisa implementar para que as coisas funcionem.

A história curta é que, uma vez que você pegue um MemberUser (autentique a pessoa), você terá acesso para saber se a pessoa está na função ou não. Tudo isso faz parte da implementação padrão de um provedor de associação no .NET. Contanto que o provedor que você está usando para o MySQL cubra todos os mesmos métodos, você pode fazer uma pesquisa rápida no Google e encontrar vários sites mostrando como mostrar/ocultar bits com base em funções.