| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 25/09/2010 19:53:19
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
Bom pessoal, já evoli bastante com glassfish + jaas + jdbc + realms.
Já consegui cutomizar um Realm e um LoginModule.
Infelizmente, não consegui o que queria, que é adicionar as ROLES que estão no banco após o usuário se autenticar. só da pra adicionar GRUPOS não consegui adicionar roles.
Gostaria de saber como adicionar ROLES após o usuário logar, até onde ví a única forma é declarando no sun-web.xml a associação entre GRUPOS e ROLES, mas não descobri como fazer isto sem existir estas roles no sun-web.xml
não há como adicionar ROLES diretamente a um usuário ??? como fazer isso ??
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/09/2010 00:31:05
|
dev.rafael
Virtual Machine Man
![[Avatar]](/images/avatar/0cba576cd16d0f399c78c557b4899a58.png)
Membro desde: 17/09/2007 01:35:27
Mensagens: 631
Offline
|
???????
Roles e grupos são a mesma coisa. Grupos são dados associados ao Principal e Roles é como o JEE trata. Não tem diferença!!!
|
"A mente humana é limitada, mas a estupidez é ilimitada." Wilhelm Steinitz |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/09/2010 09:50:11
|
Lavieri
GUJ Master
![[Avatar]](/images/avatar/7b41bfa5085806dfa24b8c9de0ce567f.png)
Membro desde: 27/01/2004 13:39:31
Mensagens: 1851
Localização: João Pessoa / PB
Offline
|
dev.rafael wrote:???????
Roles e grupos são a mesma coisa. Grupos são dados associados ao Principal e Roles é como o JEE trata. Não tem diferença!!!
inteflismente tem sim.... se não tiver, então me explica uma coisa
quando eu faço autenticação, o grupo "teste" é carregado, e ao tentar acessar em uma página JSF o comando "#{installBean.metodoautorizado}" a resposta que recebo é de falha de permissão, isto ocorre pq eu não tenho a ROLE "teste", o que tenho é a GRUPO "teste".
caso que coloque o .xml o trecho
ai o comando "#{installBean.metodoautorizado}" passa a ser liberado, pois agora eu passo a ter a ROLE teste.
------------------------------------------
Obs.: mesmo sendo como vc falou, o grupo teste sendo carregado como principal, no subject, o teste se um usuário tem ou não autorização para executar um método não é feito pelos grupos, e sim pelas roles.
|
Sun Certified Java Programmer (SCJP 6)
"Any fool can write code that a computer can understand. Good programmers write code that humans can understand."
-Martin Fowler et al, Refactoring: Improving the Design of Existing Code, 1999
Meu blog -> http://blog.tomazlavieri.com.br/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 26/09/2010 16:01:04
|
dev.rafael
Virtual Machine Man
![[Avatar]](/images/avatar/0cba576cd16d0f399c78c557b4899a58.png)
Membro desde: 17/09/2007 01:35:27
Mensagens: 631
Offline
|
Isso acontece pq Role é a maneira como a aplicação enxerga os grupos.
What Is a Group?
A group is a set of authenticated users, classified by common traits, defined in the Application Server.
A Java EE user of the file realm can belong to an Application Server group. (A user in the certificate realm cannot.) An Application Server group is a category of users classified by common traits, such as job title or customer profile. For example, most customers of an e-commerce application might belong to the CUSTOMER group, but the big spenders would belong to the PREFERRED group. Categorizing users into groups makes it easier to control the access of large numbers of users.
An Application Server group has a different scope from a role. An Application Server group is designated for the entire Application Server, whereas a role is associated only with a specific application in the Application Server.
What Is a Role?
A role is an abstract name for the permission to access a particular set of resources in an application. A role can be compared to a key that can open a lock. Many people might have a copy of the key. The lock doesn?t care who you are, only that you have the right key.
Some Other Terminology
The following terminology is also used to describe the security requirements of the Java EE platform:
Principal: A principal is an entity that can be authenticated by an authentication protocol in a security service that is deployed in an enterprise. A principal is identified using a principal name and authenticated using authentication data.
Security policy domain (also known as security domain or realm): A security policy domain is a scope over which a common security policy is defined and enforced by the security administrator of the security service.
Security attributes: A set of security attributes is associated with every principal. The security attributes have many uses, for example, access to protected resources and auditing of users. Security attributes can be associated with a principal by an authentication protocol.
Credential: A credential contains or references information (security attributes) used to authenticate a principal for Java EE product services. A principal acquires a credential upon authentication, or from another principal that allows its credential to be used.
Como vc pode ver, Role tem, apenas, um caracter lógico. Ele representa o "papel" do usuário no sistema. Ele pode ser mapeado a um grupo ou diretamente ao principal. Vc não manipula roles, vc apenas manipula grupos, e a aplicação vai enxergar a mudança dos Roles através do mapeamento q vc coloca no "sun-web.xml".
|
"A mente humana é limitada, mas a estupidez é ilimitada." Wilhelm Steinitz |
|
|
 |
|
|