Diferenciar menu por usuário - Resolvido

Regras do fórum
=============

Antes de postar sua dúvida, por favor leia as regras de utilização do fórum.
Heric Souza
Mensagens: 205
Registrado em: 24 Set 2010, 12:34

Diferenciar menu por usuário - Resolvido

Mensagem por Heric Souza » 05 Jul 2012, 11:21

Estou com meu primeiro projetinho no ar, hospedado no locacweb com MySql. Basicão ainda, porém mais animado a prosseguir no estudo da ferramenta.

Fui acompanhando alguns recursos e agora quero iniciar a implementação, e um destes é mostrar o menu diferente para o administrador e para os demais usuários.

Como sou gaseiro antigo, inevitavelmente compararei, neste caso temos a definição de acessos que no GasWeb creio não contemple este recurso.

No vídeo do Adriano tem este recurso.

Agradeço a participação!
Editado pela última vez por Heric Souza em 04 Ago 2012, 12:01, em um total de 1 vez.
---
Heric Souza
Father 3 - Gvinci Diamante

adrianodrv
Mensagens: 409
Registrado em: 28 Dez 2009, 15:43

Re: Diferenciar menu por usuário

Mensagem por adrianodrv » 05 Jul 2012, 12:15

Heric,

Faz o seguinte:

1 - Clique no Menu (exatamente no item principal que vc quer ocultar) e de um ID para ele, nesse exemplo é o IDMenuADM.
2 - clique no Form que contem o Menu.
3 - Vá na aba Enventos e crie uma ação customizada no OnLoadCompleted

protected void Form1_LoadCompleted()
{
gmenuItem ocultarMenu = IDMenuADM; //Menu de Administração
ocultarMenu.Visible = (EnvironmentVariable.LoggedNameGroup == "ADMINISTRAÇÃO");
}

Pronto feito !

Uma outra opção de código é essa tb:

// OUTRA FORMA DE FAZER PARA ESCONDER OS MENUS
if ((EnvironmentVariable.LoggedNameGroup) == "ADMINISTRAÇÃO")
{
gmenuItem ocultarMenu = IDMenuADM;
ocultarMenu.Visible = true;
}
else
{
gmenuItem ocultarMenu = IDMenuADM;
ocultarMenu.Visible = false;
}

Heric Souza
Mensagens: 205
Registrado em: 24 Set 2010, 12:34

Re: Diferenciar menu por usuário

Mensagem por Heric Souza » 05 Jul 2012, 13:25

guru Adriano!

hehehe PERFEITO!

Somente acrescentando que os menus já tem um ID pré-definido que podem ser utilizados, ou alterar para facilitar a identificação.

Caro Adriano, desculpe a brincadeira, mas como já se colocastes à disposição para nos ajudar, vamos aproveitar e, já deixo adiantado uns mil obrigados pela sua grata participação.

Creio que neste ritmo, em breve teremos aqui, neste fórum, um espelho do excelente repositório que é o do Gas2007.

Obrigado! ... xxx
---
Heric Souza
Father 3 - Gvinci Diamante

adrianodrv
Mensagens: 409
Registrado em: 28 Dez 2009, 15:43

Re: Diferenciar menu por usuário

Mensagem por adrianodrv » 05 Jul 2012, 15:12

rsrsrs.....quem me derá poder ser um guru de alguma coisa viu rsrsrsr !!!!!

Com relação ao ID, só coloquei um ID para identificar qual é qual mesmo, pois vc pode fazer a mesma coisa com varios outros menus.
Tive esta necessidade logo de começo tb e o pessoal da Gas me ajudou com o primeiro codigo, a segunda opção foi eu mesmo quem criou, mas a primeira creio que seja de melhor entendimento mesmo.

Uma outra dica tb que vc pode precisar é o seguinte tb:

ocultarMenu.Visible = (EnvironmentVariable.LoggedNameGroup == "ADMINISTRAÇÃO" || EnvironmentVariable.LoggedNameGroup == "OPERACIONAL");

Desta forma vc pode incluir mais grupos, por exemplo, que podem ver o menu.


Grande abraço,

Adriano Vieira.

Heric Souza
Mensagens: 205
Registrado em: 24 Set 2010, 12:34

Re: Diferenciar menu por usuário

Mensagem por Heric Souza » 05 Jul 2012, 17:09

Adriano,

ótima dica de outro grupo, mas queria saber da linha de cima, tem como definir mais de um item do menu?

...
gmenuItem ocultarMenu = IDMenuADM;
...
---
Heric Souza
Father 3 - Gvinci Diamante

adrianodrv
Mensagens: 409
Registrado em: 28 Dez 2009, 15:43

Re: Diferenciar menu por usuário

Mensagem por adrianodrv » 05 Jul 2012, 17:25

Tem sim Heric,

Vc pode fazer assim, por exemplo:

protected void Form1_LoadCompleted()
{
gmenuItem ocultarMenu = IDMenuADM; //Menu de Administração
gmenuItem ocultarMenu1 = IDMenuGestores; //Menu de Gestores

ocultarMenu.Visible = (EnvironmentVariable.LoggedNameGroup == "ADMINISTRAÇÃO");
ocultarMenu1.Visible = (EnvironmentVariable.LoggedNameGroup == "ADMINISTRAÇÃO" || EnvironmentVariable.LoggedNameGroup == "GESTORES");
}

Não sei se com uma logica mais apurada o codigo pode ser melhorado, mais eu uso assim e funciona certinho.

Abraços,

Heric Souza
Mensagens: 205
Registrado em: 24 Set 2010, 12:34

Re: Diferenciar menu por usuário

Mensagem por Heric Souza » 05 Jul 2012, 17:42

Adriano, funcionou blz!
---
Heric Souza
Father 3 - Gvinci Diamante

DanielGmrs
Mensagens: 37
Registrado em: 06 Dez 2012, 10:30
Contato:

Re: Diferenciar menu por usuário - Resolvido

Mensagem por DanielGmrs » 22 Abr 2013, 15:48

Gostaria de ocutar também o controle TabControl também.

Apesar de fazer esse procedimento, dá erro pois esta usando o ..

Código: Selecionar todos

gmenuItem
preciso saber qual Expressão do Tab.. já tentei usar isso..

Código: Selecionar todos

gtabItem ocultarTab = TabPage2;
ocultarTab.Visible = Convert.ToBoolean(Convert.ToBoolean(EnvironmentVariable.LoggedIsAdminGroup));
e isso..

Código: Selecionar todos

TabPage2.Visible = (bool.Parse(EnvironmentVariable.LoggedIsAdminGroup));
Daniel Guimarães - danielgmrs.com.br
Desenvolvedor Web | Softserv Sistemas
softserv.com.br
Imagem
Core i7 3770k - 8GB DDR3 1600 - 500GB SATA3 - Geforce 8400GS + dual monitor S20b30 - win8 pro 64bits

Heric Souza
Mensagens: 205
Registrado em: 24 Set 2010, 12:34

Diferenciar menu por usuário - Ressucitado

Mensagem por Heric Souza » 06 Mai 2014, 16:06

Adriano, boa tarde!

Ressuscitando o tópico, gostaria de destacar que utilizamos apenas EnvironmentVariable, como a página principal é uma página simples, sem dados, fica a dúvida: como utilizar um campo de uma tabela para a condição de visualização? Teria algum PTab ou algo parecido?
---
Heric Souza
Father 3 - Gvinci Diamante

Heric Souza
Mensagens: 205
Registrado em: 24 Set 2010, 12:34

Re: Diferenciar menu por usuário - Resolvido

Mensagem por Heric Souza » 08 Jul 2014, 08:55

Para complementar conhecimento, a solução do Pablo para utilizar tabelas:

viewtopic.php?f=3&t=1674
---
Heric Souza
Father 3 - Gvinci Diamante

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes