Commit fea3484151d07dfe7aa8df12b3795fd97a2d5d75

Authored by rodrigorgs
1 parent c89055b1
Exists in master

Formata outros literais no cap. 15 da referência.

Showing 1 changed file with 15 additions and 15 deletions   Show diff stats
documentation/reference/pt-BR/security.xml
@@ -43,15 +43,15 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee @@ -43,15 +43,15 @@ xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
43 </para> 43 </para>
44 <para> 44 <para>
45 O Demoiselle deixa o desenvolvedor livre para definir qual forma usar, de acordo com a sua conveniência e necessidade. 45 O Demoiselle deixa o desenvolvedor livre para definir qual forma usar, de acordo com a sua conveniência e necessidade.
46 - A peça chave para tornar isso possível é o contexto de segurança, representado pela interface SecurityContext. Nessa 46 + A peça chave para tornar isso possível é o contexto de segurança, representado pela interface <literal>SecurityContext</literal>. Nessa
47 estão definidos os métodos responsáveis por gerenciar os mecanismos de autenticação como, por exemplo, executar 47 estão definidos os métodos responsáveis por gerenciar os mecanismos de autenticação como, por exemplo, executar
48 login/logout de usuários e verificar se os mesmos estão ou não autenticados. 48 login/logout de usuários e verificar se os mesmos estão ou não autenticados.
49 </para> 49 </para>
50 <para> 50 <para>
51 O contexto de segurança irá direcionar as requisições para a implementação definida pela aplicação. A autenticação será 51 O contexto de segurança irá direcionar as requisições para a implementação definida pela aplicação. A autenticação será
52 - efetuada por uma classe que implemente a interface Authenticator, cujo método authenticate() é responsável por 52 + efetuada por uma classe que implemente a interface <literal>Authenticator</literal>, cujo método <literal>authenticate()</literal> é responsável por
53 executar os passos necessários para validar a identidade de um usuário. Nesta mesma interface serão encontrados, 53 executar os passos necessários para validar a identidade de um usuário. Nesta mesma interface serão encontrados,
54 - ainda, os métodos unAuthenticate() e getUser(), responsáveis por, respectivamente, desautenticar e retornar o usuário 54 + ainda, os métodos <literal>unAuthenticate()</literal> e <literal>getUser()</literal>, responsáveis por, respectivamente, desautenticar e retornar o usuário
55 autenticado. 55 autenticado.
56 </para> 56 </para>
57 <para> 57 <para>
@@ -85,7 +85,7 @@ public class Credential { @@ -85,7 +85,7 @@ public class Credential {
85 } 85 }
86 }]]></programlisting> 86 }]]></programlisting>
87 <para> 87 <para>
88 - Neste caso, a interface SecurityContext e o bean Credential estão sendo injetados na classe utilizando o CDI. 88 + Neste caso, a interface <literal>SecurityContext</literal> e o bean <literal>Credential</literal> estão sendo injetados na classe utilizando o CDI.
89 Dentro do método, ao definir o usuário e a senha e invocar <literal>context.login()</literal>, a implementação de segurança definida irá 89 Dentro do método, ao definir o usuário e a senha e invocar <literal>context.login()</literal>, a implementação de segurança definida irá
90 tratar essa requisição de acordo com os critérios estabelecidos. 90 tratar essa requisição de acordo com os critérios estabelecidos.
91 </para> 91 </para>
@@ -98,17 +98,17 @@ public class Credential { @@ -98,17 +98,17 @@ public class Credential {
98 determinados recursos de um sistema. No modelo de segurança do Demoiselle 2, a autorização pode acontecer de duas 98 determinados recursos de um sistema. No modelo de segurança do Demoiselle 2, a autorização pode acontecer de duas
99 formas: 99 formas:
100 <itemizedlist> 100 <itemizedlist>
101 - <listitem><para>Permissão por usuário, através da anotação @RequiredPermission</para></listitem>  
102 - <listitem><para>Permissão por papel, através da anotação @RequiredRole</para></listitem> 101 + <listitem><para>Permissão por usuário, através da anotação <literal>@RequiredPermission</literal></para></listitem>
  102 + <listitem><para>Permissão por papel, através da anotação <literal>@RequiredRole</literal></para></listitem>
103 </itemizedlist> 103 </itemizedlist>
104 </para> 104 </para>
105 <para> 105 <para>
106 - Novamente a interface SecurityContext é a responsável pela interação entre as funcionalidades da aplicação e a implementação de 106 + Novamente a interface <literal>SecurityContext</literal> é a responsável pela interação entre as funcionalidades da aplicação e a implementação de
107 segurança. Nela estão definidos os métodos que verificam se o usuário possui permissão para acessar um recurso ou se o 107 segurança. Nela estão definidos os métodos que verificam se o usuário possui permissão para acessar um recurso ou se o
108 usuário está associado a um papel. 108 usuário está associado a um papel.
109 </para> 109 </para>
110 <para> 110 <para>
111 - A anotação @RequiredPermission pode ser utilizada tanto em classes como em métodos e possui dois parâmetros opcionais: 111 + A anotação <literal>@RequiredPermission</literal> pode ser utilizada tanto em classes como em métodos e possui dois parâmetros opcionais:
112 <literal>operation</literal> e <literal>resource</literal>. O primeiro define a operação para a qual se deseja permissão e o segundo define em qual 112 <literal>operation</literal> e <literal>resource</literal>. O primeiro define a operação para a qual se deseja permissão e o segundo define em qual
113 recurso essa operação será realizada. Abaixo serão exemplificadas algumas formas de utilização: 113 recurso essa operação será realizada. Abaixo serão exemplificadas algumas formas de utilização:
114 </para> 114 </para>
@@ -124,20 +124,20 @@ public class Credential { @@ -124,20 +124,20 @@ public class Credential {
124 }]]></programlisting> 124 }]]></programlisting>
125 <para> 125 <para>
126 Observe o método cuja anotação não possui parâmetros. Nesse caso serão considerados como recurso e operação o nome da classe e 126 Observe o método cuja anotação não possui parâmetros. Nesse caso serão considerados como recurso e operação o nome da classe e
127 - do método, respectivamente. Uma outra possibilidade seria utilizar a anotação @Name, tanto na classe como no método, de 127 + do método, respectivamente. Uma outra possibilidade seria utilizar a anotação <literal>@Name</literal>, tanto na classe como no método, de
128 forma a possibilitar uma descrição mais amigável para o usuário. 128 forma a possibilitar uma descrição mais amigável para o usuário.
129 </para> 129 </para>
130 <para> 130 <para>
131 Assim como na autenticação, o contexto de segurança possui métodos destinados a delegar as requisições de autorização para 131 Assim como na autenticação, o contexto de segurança possui métodos destinados a delegar as requisições de autorização para
132 - a implementação de segurança. No caso da anotação @RequiredPermission, o método hasPermission(String resource, String  
133 - operation) executa esta tarefa. Para tanto, deve existir uma classe que implemente a interface Authorizer, cujo  
134 - método hasPermission(String resource, String operation) verifica se o usuário logado possui permissão para executar 132 + a implementação de segurança. No caso da anotação <literal>@RequiredPermission</literal>, o método <literal>hasPermission(String resource, String
  133 + operationliteral</p> executa esta tarefa. Para tanto, deve existir uma classe que implemente a interface Authorizer, cujo
  134 + método <literal>hasPermission(String resource, String operation)</literal> verifica se o usuário logado possui permissão para executar
135 uma determinada operação em um recurso específico. 135 uma determinada operação em um recurso específico.
136 </para> 136 </para>
137 <para> 137 <para>
138 - Ainda na interface Authorizer, pode-se notar a existência do método hasRole(String role), responsável por verificar se o 138 + Ainda na interface <literal>Authorizer</literal>, pode-se notar a existência do método <literal>hasRole(String role)</literal>, responsável por verificar se o
139 usuário logado possui um papel específico. Este método é chamado pelo contexto de segurança, por meio do seu método 139 usuário logado possui um papel específico. Este método é chamado pelo contexto de segurança, por meio do seu método
140 - hasRole(String role), para tratar as requisições que possuam a anotação @RequiredRole. Essa anotação possui um 140 + <literal>hasRole(String role)</literal>, para tratar as requisições que possuam a anotação <literal>@RequiredRole</literal>. Essa anotação possui um
141 parâmetro obrigatório, no qual podem ser definidos uma simples role ou um array delas. 141 parâmetro obrigatório, no qual podem ser definidos uma simples role ou um array delas.
142 </para> 142 </para>
143 <programlisting role="JAVA"><![CDATA[class ClasseExemplo { 143 <programlisting role="JAVA"><![CDATA[class ClasseExemplo {
@@ -169,7 +169,7 @@ public class Credential { @@ -169,7 +169,7 @@ public class Credential {
169 Após toda essa explicação, fica a dúvida: como implementar um esquema de segurança sem utilizar a extensão existente? 169 Após toda essa explicação, fica a dúvida: como implementar um esquema de segurança sem utilizar a extensão existente?
170 </para> 170 </para>
171 <para> 171 <para>
172 - O primeiro passo é criar classes para implementar as interfaces Authenticator e Authorizer. O <literal>Demoiselle</literal> detecta automaticamente 172 + O primeiro passo é criar classes para implementar as interfaces <literal>Authenticator</literal> e <literal>Authorizer</literal>. O Demoiselle detecta automaticamente
173 a implementação, e torna essa classe a implementação padrão dessas interfaces:<!-- Essas classes devem ser 173 a implementação, e torna essa classe a implementação padrão dessas interfaces:<!-- Essas classes devem ser
174 anotadas com @Alternative para que o CDI saiba que se trata de uma estratégia: --> 174 anotadas com @Alternative para que o CDI saiba que se trata de uma estratégia: -->
175 </para> 175 </para>