public class AccessSGAPathPermission extends AttributesPermission
"sga=<expressão regular>". Logo em seguida,
basta definir os paths visíveis para o usuário.
Esta implementação permite especificarmos os paths permitidos de 3 formas:
----------------------------------------------------------------------------
1 - Podemos descrever especificamente os paths permitidos através de
expressões regulares. Para isso, o atributo deve ser definido da seguinte
forma: permitir=<expressão regular>;
Por exemplo:permitir=.* (permite a visualização de todos os paths)
permitir=/local/.* (permite a visualização de todos os paths de
"/local/")
-----------------------------------------------------------------------------
2 - Podemos descrever especificamente os paths que não podem ser visualizados
pelo usuário. Para isso, o atributo deve ser definido da seguinte forma:
excluir=<expressão regular>;
Por exemplo:excluir=/bin/.* (impede a visualização dos paths de "/bin/")
excluir=.*lib.* (impede a visualização dos paths com a substring "lib")
-----------------------------------------------------------------------------
3 - Há casos em que queremos especificar o caminho de um diretório, por
exemplo, /a/b/c. Nesses casos, poderiamos definir a permissão da seguinte
forma:
permitir=(/a|/a/b|/a/b/c|/a/b/c/.*)
Porém, existe uma açucar sintático para esse caso específico que permite que
o administrador especifique da mesma forma mas com uma sintaxe mais
intuitiva. Para isso, devemos usar o atributo
"caminho=<path de um diretório>". O mesmo exemplo acima pode ser
descrito da seguinte forma:
caminho=/a/b/c
-----------------------------------------------------------------------------
NOTA 1: Atributos de exclusão possuem prioridade sobre os atributos de
permissão.
NOTA 2: Atributos com erros de sintaxe serão desconsiderados.| Modifier and Type | Field and Description |
|---|---|
static String |
ALLOW_ATT
Atributo que define um path permitido.
|
static String |
DENY_ATT
Atributo que define um path negado.
|
static String |
PATH_ATT
Atributo que define o caminho até um diretório que será permitido.
|
static String |
SGA_ATT
Atributo que define o SGA em questão.
|
description, name| Constructor and Description |
|---|
AccessSGAPathPermission()
Construtor padrão.
|
AccessSGAPathPermission(String name,
String description,
String[] attributes)
Constrói uma permissão para acesso de paths do SGA.
|
| Modifier and Type | Method and Description |
|---|---|
static boolean |
canReadPath(User user,
String sga,
String path)
Retorna true se o dado usuário tem permissão para visualizar o path no dado
SGA, false caso contrário.
|
equalContents, getAttributes, getMatchAttribute, hasAttribute, hasMatchAttribute, setAttributesaddObserver, compareTo, createPermission, deleteObserver, deletePermission, equals, existsAnotherPermission, getAllPermissions, getDescription, getId, getName, getPermission, getPermissionByName, getPermissionClasses, hashCode, modifyPermission, setDescription, setId, setName, toString, update, validatepublic static final String SGA_ATT
public static final String ALLOW_ATT
public static final String DENY_ATT
public static final String PATH_ATT
public static boolean canReadPath(User user, String sga, String path)
user - usuário.sga - nome do SGA.path - path a ser verificado.Copyright © 2021. All rights reserved.