Commit 879c146b0c783abcdb31c201da322022629cdbf8
1 parent
902c6576
Exists in
master
Atualização do arquétipo
Showing
7 changed files
with
30 additions
and
24 deletions
Show diff stats
archetype/html-rest/src/main/resources/archetype-resources/src/main/java/security/AppAuthenticator.java
1 | package ${package}.security; | 1 | package ${package}.security; |
2 | 2 | ||
3 | import javax.enterprise.context.RequestScoped; | 3 | import javax.enterprise.context.RequestScoped; |
4 | -import javax.inject.Inject; | ||
5 | 4 | ||
6 | import br.gov.frameworkdemoiselle.security.Authenticator; | 5 | import br.gov.frameworkdemoiselle.security.Authenticator; |
7 | import br.gov.frameworkdemoiselle.security.Credentials; | 6 | import br.gov.frameworkdemoiselle.security.Credentials; |
8 | import br.gov.frameworkdemoiselle.security.InvalidCredentialsException; | 7 | import br.gov.frameworkdemoiselle.security.InvalidCredentialsException; |
9 | import br.gov.frameworkdemoiselle.security.User; | 8 | import br.gov.frameworkdemoiselle.security.User; |
9 | +import br.gov.frameworkdemoiselle.util.Beans; | ||
10 | 10 | ||
11 | @RequestScoped | 11 | @RequestScoped |
12 | public class AppAuthenticator implements Authenticator { | 12 | public class AppAuthenticator implements Authenticator { |
13 | 13 | ||
14 | private static final long serialVersionUID = 1L; | 14 | private static final long serialVersionUID = 1L; |
15 | 15 | ||
16 | - @Inject | ||
17 | - private Credentials credentials; | ||
18 | - | ||
19 | private User user; | 16 | private User user; |
20 | 17 | ||
21 | @Override | 18 | @Override |
22 | public void authenticate() throws Exception { | 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 | this.user = new AppUser(credentials.getUsername()); | 23 | this.user = new AppUser(credentials.getUsername()); |
25 | } else { | 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 | $(function() { | 1 | $(function() { |
2 | - | ||
3 | $("#username").focus(); | 2 | $("#username").focus(); |
4 | 3 | ||
5 | $("form").submit(function(event) { | 4 | $("form").submit(function(event) { |
@@ -17,16 +16,15 @@ $(function() { | @@ -17,16 +16,15 @@ $(function() { | ||
17 | 16 | ||
18 | // Função utilitária | 17 | // Função utilitária |
19 | function make_base_auth(user, password) { | 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 | // Funções de Callback | 24 | // Funções de Callback |
26 | 25 | ||
27 | function loginOk(data) { | 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 | location.href = "bookmark-list.html"; | 28 | location.href = "bookmark-list.html"; |
31 | } | 29 | } |
32 | 30 | ||
@@ -36,6 +34,7 @@ function loginFail(request) { | @@ -36,6 +34,7 @@ function loginFail(request) { | ||
36 | case 401: | 34 | case 401: |
37 | $("#global-message").html("Usuário ou senha inválidos.").show(); | 35 | $("#global-message").html("Usuário ou senha inválidos.").show(); |
38 | break; | 36 | break; |
37 | + | ||
39 | case 412: | 38 | case 412: |
40 | $($("form input").get().reverse()).each(function() { | 39 | $($("form input").get().reverse()).each(function() { |
41 | var id = $(this).attr('id'); | 40 | var id = $(this).attr('id'); |
archetype/html-rest/src/main/resources/archetype-resources/src/main/webapp/login.html
1 | <!DOCTYPE html> | 1 | <!DOCTYPE html> |
2 | <html> | 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 | </head> | 10 | </head> |
11 | <body> | 11 | <body> |
12 | <div class="container"> | 12 | <div class="container"> |
13 | - <form id="form-login" role="form"> | 13 | + <form id="form-login" role="form"> |
14 | <div class="col-md-4 col-md-offset-4"> | 14 | <div class="col-md-4 col-md-offset-4"> |
15 | <div class="form-group"> | 15 | <div class="form-group"> |
16 | <h1>Bookmark | Login</h1> | 16 | <h1>Bookmark | Login</h1> |
@@ -18,14 +18,14 @@ | @@ -18,14 +18,14 @@ | ||
18 | </div> | 18 | </div> |
19 | <div class="col-md-4 col-md-offset-4"> | 19 | <div class="col-md-4 col-md-offset-4"> |
20 | <div class="form-group"> | 20 | <div class="form-group"> |
21 | - <label for="username">Login</label> | 21 | + <label for="username">Login (admin)</label> |
22 | <input id="username" type="text" class="form-control input-lg" /> | 22 | <input id="username" type="text" class="form-control input-lg" /> |
23 | <div id="username-message" class="label label-danger" hidden="true"></div> | 23 | <div id="username-message" class="label label-danger" hidden="true"></div> |
24 | </div> | 24 | </div> |
25 | </div> | 25 | </div> |
26 | <div class="col-md-4 col-md-offset-4"> | 26 | <div class="col-md-4 col-md-offset-4"> |
27 | <div class="form-group"> | 27 | <div class="form-group"> |
28 | - <label for="password">Senha</label> | 28 | + <label for="password">Senha (admin)</label> |
29 | <input id="password" type="password" class="form-control input-lg" /> | 29 | <input id="password" type="password" class="form-control input-lg" /> |
30 | <div id="password-message" class="label label-danger" hidden="true"></div> | 30 | <div id="password-message" class="label label-danger" hidden="true"></div> |
31 | </div> | 31 | </div> |
impl/core/src/main/java/br/gov/frameworkdemoiselle/security/InvalidCredentialsException.java
1 | package br.gov.frameworkdemoiselle.security; | 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 | * Thrown when the user's credentials are invalid. | 8 | * Thrown when the user's credentials are invalid. |
5 | * | 9 | * |
@@ -9,6 +13,10 @@ public class InvalidCredentialsException extends AuthenticationException { | @@ -9,6 +13,10 @@ public class InvalidCredentialsException extends AuthenticationException { | ||
9 | 13 | ||
10 | private static final long serialVersionUID = 1L; | 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 | * Constructs an <code>InvalidCredentialsException</code> with a message. | 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,6 +96,7 @@ access-denied=O usu\u00E1rio {0} n\u00E3o possui permiss\u00E3o para executar a | ||
96 | access-denied-ui=Voc\u00EA n\u00E3o est\u00E1 autorizado a executar a a\u00E7\u00E3o {1} no recurso {0} | 96 | access-denied-ui=Voc\u00EA n\u00E3o est\u00E1 autorizado a executar a a\u00E7\u00E3o {1} no recurso {0} |
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. | 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 | user-not-authenticated=Usu\u00E1rio n\u00E3o autenticado | 98 | user-not-authenticated=Usu\u00E1rio n\u00E3o autenticado |
99 | +invalid-credentials=Usu\u00E1rio ou senha inv\u00E1lidos | ||
99 | has-role-verification=Verificando se o usu\u00E1rio {0} possui a(s) role(s)\: {1} | 100 | has-role-verification=Verificando se o usu\u00E1rio {0} possui a(s) role(s)\: {1} |
100 | does-not-have-role=Usu\u00E1rio {0} n\u00E3o possui a(s) role(s)\: {1} | 101 | does-not-have-role=Usu\u00E1rio {0} n\u00E3o possui a(s) role(s)\: {1} |
101 | does-not-have-role-ui=Para acessar este recurso \u00E9 necess\u00E1rio ser {0} | 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,7 +71,7 @@ public class ServletAuthenticator implements Authenticator { | ||
71 | if (cause.getMessage().toLowerCase().contains("invalid") | 71 | if (cause.getMessage().toLowerCase().contains("invalid") |
72 | || cause.getMessage().toLowerCase().contains("incorrect") | 72 | || cause.getMessage().toLowerCase().contains("incorrect") |
73 | || cause.getMessage().toLowerCase().contains("failed")) { | 73 | || cause.getMessage().toLowerCase().contains("failed")) { |
74 | - throw new InvalidCredentialsException(getBundle().getString("invalid-credentials"), cause); | 74 | + throw new InvalidCredentialsException(); |
75 | } else { | 75 | } else { |
76 | throw new AuthenticationException(getBundle().getString("authentication-failed"), cause); | 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,5 +34,4 @@ | ||
34 | # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. | 34 | # 51 Franklin St, Fifth Floor, Boston, MA 02111-1301, USA. |
35 | 35 | ||
36 | has-permission-not-supported=N\u00E3o \u00E9 poss\u00EDvel utilizar @{0}, pois esta funcionalidade n\u00E3o \u00E9 suportada pelo JAAS. | 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 | authentication-failed=Falha no processo de autentica\u00E7\u00E3o. | 37 | authentication-failed=Falha no processo de autentica\u00E7\u00E3o. |