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 28 public Map<String, String> getPermissions();
29 29  
30 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   -/*
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   -/*
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 5 */
6 6 package org.demoiselle.jee.security.token.impl;
7 7  
8   -import java.util.Map;
9   -import java.util.UUID;
10 8 import static java.util.UUID.randomUUID;
11 9 import java.util.concurrent.ConcurrentHashMap;
12 10 import java.util.logging.Logger;
13   -import javax.enterprise.context.ApplicationScoped;
14 11 import javax.enterprise.context.Dependent;
15 12 import javax.inject.Inject;
16   -import javax.ws.rs.ApplicationPath;
17 13 import org.demoiselle.jee.core.interfaces.security.DemoisellePrincipal;
18 14 import org.demoiselle.jee.core.interfaces.security.Token;
19 15 import org.demoiselle.jee.core.interfaces.security.TokensManager;
... ... @@ -22,10 +18,10 @@ import org.demoiselle.jee.core.interfaces.security.TokensManager;
22 18 *
23 19 * @author 70744416353
24 20 */
25   -@ApplicationScoped
  21 +@Dependent
26 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 26 @Inject
31 27 private Logger logger;
... ... @@ -51,7 +47,7 @@ public class TokensManagerImpl implements TokensManager {
51 47  
52 48 if (token.getKey() == null) {
53 49 String value = randomUUID().toString();
54   - repo.putIfAbsent(value, user);
  50 + repo.putIfAbsent(value, user.clone());
55 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 @@
  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 +}
... ...