Skip to content

clairton/security

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

security Build Status

Segurança baseado em token com uso de CDI interceptors.

Adicionar no beans.xml:

<interceptors>
	<class>br.eti.clairton.security.LockInterceptor</class>
	<class>br.eti.clairton.security.GateInterceptor</class>
</interceptors>

Cria produces com qualifiers @App, @User e @Token:

@Produces
@User
public String getUser() {
	return "admin";
}

@Produces
@App
public String getApp() {
	return "Pass";
}

@Produces
@Token
public String getToken() {
	return "123";
}

É necessário fornecer uma implementação de Lock e outro de Locksmith, o Lock é responsavel por identificar o usuário, enquanto o Locksmith controla os tokens de acesso.

O metodos que só podem ser acessados com identificação de usuário devem ser anotados com @Protected:

@Protected
public void test() {

}

O métodos que só podem ser acessados mediante autorização devem ser anotados com @Authorized:

@Authorized
public void test() {

}

Para especificar o nome do recurso pode anotadar a classe:

@Resource("aplicacao")
class AplicacaoController {
...
...
}

Ou um metodo retornando String:

class AplicacaoController {
	...
	...
	@Resource
	public String getResource() {
		return "aplicacao";
	}
}

Para usar será necessário adicionar os repositórios maven:

<repository>
	<id>mvn-repo-releases</id>
	<url>https://raw.github.com/clairton/mvn-repo/releases</url>
</repository>
<repository>
	<id>mvn-repo-snapshot</id>
	<url>https://raw.github.com/clairton/mvn-repo/snapshots</url>
</repository>

Também adicionar as depêndencias:

<dependency>
    <groupId>br.eti.clairton</groupId>
    <artifactId>security</artifactId>
    <version>0.1.0</version>
</dependency>

About

Token-based security with use of CDI interceptors

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Languages