Commit bc6de58b1d3363585f1fc764ea6fa5e3555ed99a

Authored by PauloGladson
1 parent 3d167b54

Segurança e ajustes nos pacotes

demoiselle-core/src/main/java/org/demoiselle/jee/core/interfaces/security/DemoisellePrincipal.java
@@ -28,4 +28,6 @@ public interface DemoisellePrincipal extends Principal { @@ -28,4 +28,6 @@ public interface DemoisellePrincipal extends Principal {
28 public Map<String, String> getPermissions(); 28 public Map<String, String> getPermissions();
29 29
30 public void setPermissions(Map<String, String> permissions); 30 public void setPermissions(Map<String, String> permissions);
  31 +
  32 + public DemoisellePrincipal clone();
31 } 33 }
demoiselle-security-jwt/src/main/java/org/demoiselle/jee/security/jwt/impl/DemoisellePrincipalImpl.java
@@ -1,99 +0,0 @@ @@ -1,99 +0,0 @@
1 -/*  
2 - * Demoiselle Framework  
3 - *  
4 - * License: GNU Lesser General Public License (LGPL), version 3 or later.  
5 - * See the lgpl.txt file in the root directory or <https://www.gnu.org/licenses/lgpl.html>.  
6 - */  
7 -package org.demoiselle.jee.security.jwt.impl;  
8 -  
9 -import java.util.List;  
10 -import java.util.Map;  
11 -import java.util.Objects;  
12 -import javax.enterprise.context.ApplicationScoped;  
13 -import javax.enterprise.context.Dependent;  
14 -import javax.enterprise.context.RequestScoped;  
15 -import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;  
16 -  
17 -/**  
18 - *  
19 - * @author 70744416353  
20 - */  
21 -@RequestScoped  
22 -public class DemoisellePrincipalImpl implements DemoisellePrincipal {  
23 -  
24 - private String id;  
25 - private String name;  
26 - private List<String> roles;  
27 - private Map<String, String> permissions;  
28 -  
29 - @Override  
30 - public String getId() {  
31 - return id;  
32 - }  
33 -  
34 - @Override  
35 - public void setId(String id) {  
36 - this.id = id;  
37 - }  
38 -  
39 - @Override  
40 - public String getName() {  
41 - return name;  
42 - }  
43 -  
44 - @Override  
45 - public void setName(String name) {  
46 - this.name = name;  
47 - }  
48 -  
49 - @Override  
50 - public List<String> getRoles() {  
51 - return roles;  
52 - }  
53 -  
54 - @Override  
55 - public void setRoles(List<String> roles) {  
56 - this.roles = roles;  
57 - }  
58 -  
59 - @Override  
60 - public Map<String, String> getPermissions() {  
61 - return permissions;  
62 - }  
63 -  
64 - @Override  
65 - public void setPermissions(Map<String, String> permissions) {  
66 - this.permissions = permissions;  
67 - }  
68 -  
69 - @Override  
70 - public int hashCode() {  
71 - int hash = 7;  
72 - hash = 37 * hash + Objects.hashCode(this.id);  
73 - return hash;  
74 - }  
75 -  
76 - @Override  
77 - public boolean equals(Object obj) {  
78 - if (this == obj) {  
79 - return true;  
80 - }  
81 - if (obj == null) {  
82 - return false;  
83 - }  
84 - if (getClass() != obj.getClass()) {  
85 - return false;  
86 - }  
87 - final DemoisellePrincipalImpl other = (DemoisellePrincipalImpl) obj;  
88 - if (!Objects.equals(this.id, other.id)) {  
89 - return false;  
90 - }  
91 - return true;  
92 - }  
93 -  
94 - @Override  
95 - public String toString() {  
96 - return "DemoisellePrincipal{" + "id=" + id + ", name=" + name + ", roles=" + roles + ", permissions=" + permissions + '}';  
97 - }  
98 -  
99 -}  
demoiselle-security-token/src/main/java/org/demoiselle/jee/security/token/impl/DemoisellePrincipalImpl.java
@@ -1,97 +0,0 @@ @@ -1,97 +0,0 @@
1 -/*  
2 - * Demoiselle Framework  
3 - *  
4 - * License: GNU Lesser General Public License (LGPL), version 3 or later.  
5 - * See the lgpl.txt file in the root directory or <https://www.gnu.org/licenses/lgpl.html>.  
6 - */  
7 -package org.demoiselle.jee.security.token.impl;  
8 -  
9 -import java.util.List;  
10 -import java.util.Map;  
11 -import java.util.Objects;  
12 -import javax.enterprise.context.Dependent;  
13 -import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;  
14 -  
15 -/**  
16 - *  
17 - * @author 70744416353  
18 - */  
19 -@Dependent  
20 -public class DemoisellePrincipalImpl implements DemoisellePrincipal {  
21 -  
22 - private String id;  
23 - private String name;  
24 - private List<String> roles;  
25 - private Map<String, String> permissions;  
26 -  
27 - @Override  
28 - public String getId() {  
29 - return id;  
30 - }  
31 -  
32 - @Override  
33 - public void setId(String id) {  
34 - this.id = id;  
35 - }  
36 -  
37 - @Override  
38 - public String getName() {  
39 - return name;  
40 - }  
41 -  
42 - @Override  
43 - public void setName(String name) {  
44 - this.name = name;  
45 - }  
46 -  
47 - @Override  
48 - public List<String> getRoles() {  
49 - return roles;  
50 - }  
51 -  
52 - @Override  
53 - public void setRoles(List<String> roles) {  
54 - this.roles = roles;  
55 - }  
56 -  
57 - @Override  
58 - public Map<String, String> getPermissions() {  
59 - return permissions;  
60 - }  
61 -  
62 - @Override  
63 - public void setPermissions(Map<String, String> permissions) {  
64 - this.permissions = permissions;  
65 - }  
66 -  
67 - @Override  
68 - public int hashCode() {  
69 - int hash = 7;  
70 - hash = 37 * hash + Objects.hashCode(this.id);  
71 - return hash;  
72 - }  
73 -  
74 - @Override  
75 - public boolean equals(Object obj) {  
76 - if (this == obj) {  
77 - return true;  
78 - }  
79 - if (obj == null) {  
80 - return false;  
81 - }  
82 - if (getClass() != obj.getClass()) {  
83 - return false;  
84 - }  
85 - final DemoisellePrincipalImpl other = (DemoisellePrincipalImpl) obj;  
86 - if (!Objects.equals(this.id, other.id)) {  
87 - return false;  
88 - }  
89 - return true;  
90 - }  
91 -  
92 - @Override  
93 - public String toString() {  
94 - return "DemoisellePrincipal{" + "id=" + id + ", name=" + name + ", roles=" + roles + ", permissions=" + permissions + '}';  
95 - }  
96 -  
97 -}  
demoiselle-security-token/src/main/java/org/demoiselle/jee/security/token/impl/TokensManagerImpl.java
@@ -5,15 +5,11 @@ @@ -5,15 +5,11 @@
5 */ 5 */
6 package org.demoiselle.jee.security.token.impl; 6 package org.demoiselle.jee.security.token.impl;
7 7
8 -import java.util.Map;  
9 -import java.util.UUID;  
10 import static java.util.UUID.randomUUID; 8 import static java.util.UUID.randomUUID;
11 import java.util.concurrent.ConcurrentHashMap; 9 import java.util.concurrent.ConcurrentHashMap;
12 import java.util.logging.Logger; 10 import java.util.logging.Logger;
13 -import javax.enterprise.context.ApplicationScoped;  
14 import javax.enterprise.context.Dependent; 11 import javax.enterprise.context.Dependent;
15 import javax.inject.Inject; 12 import javax.inject.Inject;
16 -import javax.ws.rs.ApplicationPath;  
17 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal; 13 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;
18 import org.demoiselle.jee.core.interfaces.security.Token; 14 import org.demoiselle.jee.core.interfaces.security.Token;
19 import org.demoiselle.jee.core.interfaces.security.TokensManager; 15 import org.demoiselle.jee.core.interfaces.security.TokensManager;
@@ -22,10 +18,10 @@ import org.demoiselle.jee.core.interfaces.security.TokensManager; @@ -22,10 +18,10 @@ import org.demoiselle.jee.core.interfaces.security.TokensManager;
22 * 18 *
23 * @author 70744416353 19 * @author 70744416353
24 */ 20 */
25 -@ApplicationScoped 21 +@Dependent
26 public class TokensManagerImpl implements TokensManager { 22 public class TokensManagerImpl implements TokensManager {
27 23
28 - private ConcurrentHashMap<String, DemoisellePrincipal> repo = new ConcurrentHashMap<>(); 24 + private static ConcurrentHashMap<String, DemoisellePrincipal> repo = new ConcurrentHashMap<>();
29 25
30 @Inject 26 @Inject
31 private Logger logger; 27 private Logger logger;
@@ -51,7 +47,7 @@ public class TokensManagerImpl implements TokensManager { @@ -51,7 +47,7 @@ public class TokensManagerImpl implements TokensManager {
51 47
52 if (token.getKey() == null) { 48 if (token.getKey() == null) {
53 String value = randomUUID().toString(); 49 String value = randomUUID().toString();
54 - repo.putIfAbsent(value, user); 50 + repo.putIfAbsent(value, user.clone());
55 token.setKey(value); 51 token.setKey(value);
56 } 52 }
57 53
demoiselle-security/src/main/java/org/demoiselle/jee/security/impl/DemoisellePrincipalImpl.java 0 → 100644
@@ -0,0 +1,111 @@ @@ -0,0 +1,111 @@
  1 +/*
  2 + * Demoiselle Framework
  3 + *
  4 + * License: GNU Lesser General Public License (LGPL), version 3 or later.
  5 + * See the lgpl.txt file in the root directory or <https://www.gnu.org/licenses/lgpl.html>.
  6 + */
  7 +package org.demoiselle.jee.security.impl;
  8 +
  9 +import java.util.List;
  10 +import java.util.Map;
  11 +import java.util.Objects;
  12 +import java.util.logging.Level;
  13 +import java.util.logging.Logger;
  14 +import javax.enterprise.context.ApplicationScoped;
  15 +import javax.enterprise.context.Dependent;
  16 +import javax.enterprise.context.RequestScoped;
  17 +import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;
  18 +
  19 +/**
  20 + *
  21 + * @author 70744416353
  22 + */
  23 +@RequestScoped
  24 +public class DemoisellePrincipalImpl implements DemoisellePrincipal, Cloneable {
  25 +
  26 + private String id;
  27 + private String name;
  28 + private List<String> roles;
  29 + private Map<String, String> permissions;
  30 +
  31 + @Override
  32 + public String getId() {
  33 + return id;
  34 + }
  35 +
  36 + @Override
  37 + public void setId(String id) {
  38 + this.id = id;
  39 + }
  40 +
  41 + @Override
  42 + public String getName() {
  43 + return name;
  44 + }
  45 +
  46 + @Override
  47 + public void setName(String name) {
  48 + this.name = name;
  49 + }
  50 +
  51 + @Override
  52 + public List<String> getRoles() {
  53 + return roles;
  54 + }
  55 +
  56 + @Override
  57 + public void setRoles(List<String> roles) {
  58 + this.roles = roles;
  59 + }
  60 +
  61 + @Override
  62 + public Map<String, String> getPermissions() {
  63 + return permissions;
  64 + }
  65 +
  66 + @Override
  67 + public void setPermissions(Map<String, String> permissions) {
  68 + this.permissions = permissions;
  69 + }
  70 +
  71 + @Override
  72 + public int hashCode() {
  73 + int hash = 7;
  74 + hash = 37 * hash + Objects.hashCode(this.id);
  75 + return hash;
  76 + }
  77 +
  78 + @Override
  79 + public boolean equals(Object obj) {
  80 + if (this == obj) {
  81 + return true;
  82 + }
  83 + if (obj == null) {
  84 + return false;
  85 + }
  86 + if (getClass() != obj.getClass()) {
  87 + return false;
  88 + }
  89 + final DemoisellePrincipalImpl other = (DemoisellePrincipalImpl) obj;
  90 + if (!Objects.equals(this.id, other.id)) {
  91 + return false;
  92 + }
  93 + return true;
  94 + }
  95 +
  96 + @Override
  97 + public String toString() {
  98 + return "DemoisellePrincipal{" + "id=" + id + ", name=" + name + ", roles=" + roles + ", permissions=" + permissions + '}';
  99 + }
  100 +
  101 + @Override
  102 + public DemoisellePrincipal clone() {
  103 + try {
  104 + return (DemoisellePrincipal) super.clone();
  105 + } catch (CloneNotSupportedException ex) {
  106 + Logger.getLogger(DemoisellePrincipalImpl.class.getName()).log(Level.SEVERE, null, ex);
  107 + }
  108 + return null;
  109 + }
  110 +
  111 +}