Commit 879c146b0c783abcdb31c201da322022629cdbf8

Authored by Cleverson Sacramento
1 parent 902c6576
Exists in master

Atualização do arquétipo

archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppAuthenticator.java
1 1 package ${package}.security;
2 2  
3 3 import javax.enterprise.context.RequestScoped;
4   -import javax.inject.Inject;
5 4  
6 5 import br.gov.frameworkdemoiselle.security.Authenticator;
7 6 import br.gov.frameworkdemoiselle.security.Credentials;
8 7 import br.gov.frameworkdemoiselle.security.InvalidCredentialsException;
9 8 import br.gov.frameworkdemoiselle.security.User;
  9 +import br.gov.frameworkdemoiselle.util.Beans;
10 10  
11 11 @RequestScoped
12 12 public class AppAuthenticator implements Authenticator {
13 13  
14 14 private static final long serialVersionUID = 1L;
15 15  
16   - @Inject
17   - private Credentials credentials;
18   -
19 16 private User user;
20 17  
21 18 @Override
22 19 public void authenticate() throws Exception {
23   - if ("admin".equals(credentials.getUsername()) && "admin".equals(credentials.getPassword())) {
  20 + Credentials credentials = Beans.getReference(Credentials.class);
  21 +
  22 + if (credentials.getUsername().equals("admin") && credentials.getPassword().equals("admin")) {
24 23 this.user = new AppUser(credentials.getUsername());
25 24 } else {
26   - throw new InvalidCredentialsException("usuário ou senha inválidos");
  25 + throw new InvalidCredentialsException();
27 26 }
28 27 }
29 28  
... ...
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/js/controller/login.js
1 1 $(function() {
2   -
3 2 $("#username").focus();
4 3  
5 4 $("form").submit(function(event) {
... ... @@ -17,16 +16,15 @@ $(function() {
17 16  
18 17 // Função utilitária
19 18 function make_base_auth(user, password) {
20   - var tok = user + ':' + password;
21   - var hash = btoa(tok);
22   - return "Basic " + hash;
  19 + var tok = user + ':' + password;
  20 + var hash = btoa(tok);
  21 + return "Basic " + hash;
23 22 }
24 23  
25 24 // Funções de Callback
26 25  
27 26 function loginOk(data) {
28   - sessionStorage.setItem('credential',
29   - make_base_auth($("#username").val().trim(), $("#password").val().trim()));
  27 + sessionStorage.setItem('credential', make_base_auth($("#username").val().trim(), $("#password").val().trim()));
30 28 location.href = "bookmark-list.html";
31 29 }
32 30  
... ... @@ -36,6 +34,7 @@ function loginFail(request) {
36 34 case 401:
37 35 $("#global-message").html("Usuário ou senha inválidos.").show();
38 36 break;
  37 +
39 38 case 412:
40 39 $($("form input").get().reverse()).each(function() {
41 40 var id = $(this).attr('id');
... ...
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/login.html
1 1 <!DOCTYPE html>
2 2 <html>
3   -<head>
4   - <meta charset="UTF-8">
5   - <meta http-equiv="X-UA-Compatible" content="IE=edge">
6   - <meta name="viewport" content="width=device-width, initial-scale=1">
7   - <title>Notifica | Login</title>
8   - <link href="css/bootstrap.min.css" rel="stylesheet">
9   - <link href="css/bookmark.css" rel="stylesheet">
  3 +<head>
  4 +<meta charset="UTF-8">
  5 +<meta http-equiv="X-UA-Compatible" content="IE=edge">
  6 +<meta name="viewport" content="width=device-width, initial-scale=1">
  7 +<title>Notifica | Login</title>
  8 +<link href="css/bootstrap.min.css" rel="stylesheet">
  9 +<link href="css/bookmark.css" rel="stylesheet">
10 10 </head>
11 11 <body>
12 12 <div class="container">
13   - <form id="form-login" role="form">
  13 + <form id="form-login" role="form">
14 14 <div class="col-md-4 col-md-offset-4">
15 15 <div class="form-group">
16 16 <h1>Bookmark | Login</h1>
... ... @@ -18,14 +18,14 @@
18 18 </div>
19 19 <div class="col-md-4 col-md-offset-4">
20 20 <div class="form-group">
21   - <label for="username">Login</label>
  21 + <label for="username">Login (admin)</label>
22 22 <input id="username" type="text" class="form-control input-lg" />
23 23 <div id="username-message" class="label label-danger" hidden="true"></div>
24 24 </div>
25 25 </div>
26 26 <div class="col-md-4 col-md-offset-4">
27 27 <div class="form-group">
28   - <label for="password">Senha</label>
  28 + <label for="password">Senha (admin)</label>
29 29 <input id="password" type="password" class="form-control input-lg" />
30 30 <div id="password-message" class="label label-danger" hidden="true"></div>
31 31 </div>
... ...
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/InvalidCredentialsException.java
1 1 package br.gov.frameworkdemoiselle.security;
2 2  
  3 +import java.util.ResourceBundle;
  4 +
  5 +import br.gov.frameworkdemoiselle.util.Beans;
  6 +
3 7 /**
4 8 * Thrown when the user's credentials are invalid.
5 9 *
... ... @@ -9,6 +13,10 @@ public class InvalidCredentialsException extends AuthenticationException {
9 13  
10 14 private static final long serialVersionUID = 1L;
11 15  
  16 + public InvalidCredentialsException() {
  17 + super(Beans.getReference(ResourceBundle.class).getString("invalid-credentials"));
  18 + }
  19 +
12 20 /**
13 21 * Constructs an <code>InvalidCredentialsException</code> with a message.
14 22 */
... ...
impl/core/src/main/resources/demoiselle-core-bundle.properties
... ... @@ -96,6 +96,7 @@ access-denied=O usu\u00E1rio {0} n\u00E3o possui permiss\u00E3o para executar a
96 96 access-denied-ui=Voc\u00EA n\u00E3o est\u00E1 autorizado a executar a a\u00E7\u00E3o {1} no recurso {0}
97 97 authorizer-not-defined=Nenhuma regra de resolu\u00E7\u00E3o de permiss\u00F5es foi definida. Para utilizar @{0} \u00E9 preciso definir a propriedade frameworkdemoiselle.security.authorizer.class como regra de resolu\u00E7\u00E3o de permiss\u00F5es desejada no arquivo demoiselle.properties.
98 98 user-not-authenticated=Usu\u00E1rio n\u00E3o autenticado
  99 +invalid-credentials=Usu\u00E1rio ou senha inv\u00E1lidos
99 100 has-role-verification=Verificando se o usu\u00E1rio {0} possui a(s) role(s)\: {1}
100 101 does-not-have-role=Usu\u00E1rio {0} n\u00E3o possui a(s) role(s)\: {1}
101 102 does-not-have-role-ui=Para acessar este recurso \u00E9 necess\u00E1rio ser {0}
... ...
impl/extension/servlet/src/main/java/br/gov/frameworkdemoiselle/security/ServletAuthenticator.java
... ... @@ -71,7 +71,7 @@ public class ServletAuthenticator implements Authenticator {
71 71 if (cause.getMessage().toLowerCase().contains("invalid")
72 72 || cause.getMessage().toLowerCase().contains("incorrect")
73 73 || cause.getMessage().toLowerCase().contains("failed")) {
74   - throw new InvalidCredentialsException(getBundle().getString("invalid-credentials"), cause);
  74 + throw new InvalidCredentialsException();
75 75 } else {
76 76 throw new AuthenticationException(getBundle().getString("authentication-failed"), cause);
77 77 }
... ...
impl/extension/servlet/src/main/resources/demoiselle-servlet-bundle.properties
... ... @@ -34,5 +34,4 @@
34 34 # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA.
35 35  
36 36 has-permission-not-supported=N\u00E3o \u00E9 poss\u00EDvel utilizar @{0}, pois esta funcionalidade n\u00E3o \u00E9 suportada pelo JAAS.
37   -invalid-credentials=Usu\u00E1rio ou senha inv\u00E1lidos.
38 37 authentication-failed=Falha no processo de autentica\u00E7\u00E3o.
... ...