Seam - Login com utilizador do Windows

Boa tarde,

tenho estado envolvido num projecto com o Seam, mas estou com dificuldades em fazer o login automático.

O objectivo é quando a pagina http://localhost:8080/Projecto é carregada, em vez de o utilizador ter de fazer login para poder editar registos, este login é feito automaticamente com o login de sessao do windows.

Este projecto foi gerado pelo seam-gen, com uma base de dados já existente.

Alguem tem conhecimento desta framework? :idea:

Seam 1.2.1
Jboss 4.0.5

Eclipse 3.4.2 (ganymede)

Obrigado

Já tinha pesquisado e encontrado esse site mas não consigo seguir o tutorial :?

Não sabe de outro exemplo/tutorial?

Obrigado

Boas,

Já tive progressos com o login… Neste momento quendo faço login e coloco, por exemplo…

User: AAA
Password: BBB

aparece no menu “Welcome rapid_shark”, onde rapid_shark é o nome do utilizador do windows.

Alguem sabe como faço para abrir o projecto, apareça logo “Welcome”+nome do utilizador?

alguem sabe como adicionar uma regra de segurança?

na classe authenticator eu queria a seguinte logica

if (identity.getUsername()== "admin"){

.....permissoes para tudo...

}else{

.... apenas pode visualizar os registos, sem poder alterar/editar nada..

}

Olá amigo, vou tentar dar uma idéia do que você faria (já fazem 3 meses que este post foi criado, mas não custa nada deixar gravado para futuros membros que acessarem).

seguindo sua linha de pensamento:

// Você precisa instanciar uma Identity
@In Identity identity;

if (identity.getUsername()== “admin”){

// …permissoes para tudo…
identity.addRole(“admin”);

}else{

… apenas pode visualizar os registos, sem poder alterar/editar nada…

}

Agora, na sua classe que contém sua regra de negocio, você pode adicionar uma restrição aos metodos de alterar, para que somente quem tenha o perfil de “admin” possa executar. Como fazer isto? Você pode configurar pela sua page.xml ou usando uma anotação, um exemplo simples segue abaixo:

@Restrict("#{s:hasRole(‘admin’)}")
public String alterarDados(Object o){
entity.merge(o);
return “listar”;
}

Legal né? Que tal brincar mais um pouco? Você pode usar o rendered sua tela de acordo com suas permissões. Exemplo:

<s:link id=“removeId"
value=” Remove"
action="#{action.remove}"
propagation=“none”

                     rendered="#{s:hasRole('admin')}" >

</s:link>

Obviamente, existe muito mais a se aprender e aprimorar, mas acredito que isto já ajude um pouco.

Abraço,