Descrição:
Como posso saber, via script, o nome do usuário e o nome do grupo de usuários ao qual ele pertence?
Solução:
O nome do usuário é retornado através da propriedade User do Viewer.
Exemplo de script:
dim usuario
usuario = Application.User
msgbox "Usuário logado: " & usuario
Já a confirmação do grupo ao qual o usuário pertence é retornado através do método IsUserMemberOfGroup(GroupName) do Viewer. O parâmetro GroupName deve ser preenchido com o nome do grupo do qual se deseja saber se o usuário faz parte.
Exemplo de script verificando se usuário pertence ao grupo Administradores:
if Application.IsUserMemberOfGroup("Administradores") then
msgbox "Este usuário é um administrador."
end if
A ideia é ter uma forma de capturar o grupo do usuário configurado.
Imagine uma aplicação com 15 grupos de usuários configurados e ser necessário ficar fazendo verificação para cada suposto grupo existente?
Não há nenhuma propriedade que retorne o nome do grupo.
Quando o método IsUserMemberOfGroup foi concebido, chegamos a conclusão que por questões de design a melhor alternativa seria testar o nome do grupo, pois um usuário pode estar associado a diversos grupos, e estes grupos ainda podem estar interligados.
A função IsUserMemberOfGroup pode ser utilizada para testar o usuário logado, ou inserindo o nome do usuário que deseja-se verificar (a partir da versão 4.5).
IsUserMemberOfGroup(GroupName, [UserName])
Este método verifica se um usuário pertence a um determinado grupo. Possui os seguintes parâmetros:
•GroupName: Nome do grupo de usuários que se quer verificar;
•UserName: Nome do usuário que se quer verificar. Se este parâmetro é omitido ou é igual a uma String vazia, o método considera o usuário atualmente logado no E3 Viewer.