rsanchez
2017-04-10 8d99c88af55041ff06e6b9372b6b1f66220bed38
securis/src/main/java/net/curisit/securis/security/BasicSecurityContext.java
....@@ -11,83 +11,101 @@
1111
1212 public class BasicSecurityContext implements SecurityContext {
1313
14
- final public static String ROL_ADVANCE = "advance";
15
- final public static String ROL_ADMIN = "admin";
14
+ final public static String ROL_ADVANCE = "advance";
15
+ final public static String ROL_ADMIN = "admin";
16
+ final public static String ROL_BASIC = "basic";
1617
17
- final static Map<String, Integer> ROLES = Utils.<String, Integer> createMap(ROL_ADVANCE, User.Rol.ADVANCE, ROL_ADMIN, User.Rol.ADMIN);
18
+ final static Map<String, Integer> ROLES = Utils.<String, Integer> createMap(ROL_BASIC, User.Rol.BASIC, ROL_ADVANCE, User.Rol.ADVANCE, ROL_ADMIN, User.Rol.ADMIN);
1819
19
- Principal user = null;
20
- int roles = 0;
21
- boolean secure = false;
22
- Set<Integer> organizationsIds = null;
23
- double ran = 0;
20
+ Principal user = null;
21
+ int roles = 0;
22
+ boolean secure = false;
23
+ Set<Integer> organizationsIds = null;
24
+ Set<Integer> applicationsIds = null;
25
+ double ran = 0;
2426
25
- public BasicSecurityContext(String username, int roles, boolean secure) {
26
- user = new UserPrincipal(username);
27
- this.roles = roles;
28
- this.secure = secure;
29
- ran = Math.random();
30
- }
27
+ public BasicSecurityContext(String username, int roles, boolean secure) {
28
+ user = new UserPrincipal(username);
29
+ this.roles = roles;
30
+ this.secure = secure;
31
+ ran = Math.random();
32
+ }
3133
32
- @Override
33
- public Principal getUserPrincipal() {
34
- return user;
35
- }
34
+ @Override
35
+ public Principal getUserPrincipal() {
36
+ return user;
37
+ }
3638
37
- @Override
38
- public boolean isUserInRole(String role) {
39
- Integer introle = ROLES.get(role);
40
- return introle != null && (introle & roles) != 0;
41
- }
39
+ @Override
40
+ public boolean isUserInRole(String role) {
41
+ Integer introle = ROLES.get(role);
42
+ return introle != null && (introle & roles) != 0;
43
+ }
4244
43
- @Override
44
- public boolean isSecure() {
45
- return secure;
46
- }
45
+ @Override
46
+ public boolean isSecure() {
47
+ return secure;
48
+ }
4749
48
- @Override
49
- public String getAuthenticationScheme() {
50
- return null;
51
- }
50
+ @Override
51
+ public String getAuthenticationScheme() {
52
+ return null;
53
+ }
5254
53
- @Override
54
- public String toString() {
55
+ @Override
56
+ public String toString() {
5557
56
- return String.format("SecurityContextWrapper(%f) %s", ran, user);
57
- }
58
+ return String.format("SecurityContextWrapper(%f) %s", ran, user);
59
+ }
5860
59
- public void setOrganizationsIds(Set<Integer> orgs) {
60
- this.organizationsIds = orgs;
61
- }
61
+ public void setOrganizationsIds(Set<Integer> orgs) {
62
+ this.organizationsIds = orgs;
63
+ }
6264
63
- public Set<Integer> getOrganizationsIds() {
64
- return this.organizationsIds;
65
- }
65
+ public Set<Integer> getOrganizationsIds() {
66
+ return this.organizationsIds;
67
+ }
6668
67
- private class UserPrincipal implements Principal {
69
+ public Set<Integer> getApplicationsIds() {
70
+ return applicationsIds;
71
+ }
6872
69
- final String name;
73
+ public void setApplicationsIds(Set<Integer> applicationsIds) {
74
+ this.applicationsIds = applicationsIds;
75
+ }
7076
71
- public UserPrincipal(String name) {
72
- this.name = name;
73
- }
77
+ private class UserPrincipal implements Principal {
7478
75
- @Override
76
- public String getName() {
77
- return this.name;
78
- }
79
+ final String name;
7980
80
- @Override
81
- public String toString() {
82
- return String.format("[%s]", name);
83
- }
81
+ public UserPrincipal(String name) {
82
+ this.name = name;
83
+ }
8484
85
- }
85
+ @Override
86
+ public String getName() {
87
+ return this.name;
88
+ }
8689
87
- public boolean isOrgAccesible(Integer orgid) {
88
- if (organizationsIds == null || orgid == null) {
89
- return false;
90
- }
91
- return organizationsIds.contains(orgid);
92
- }
90
+ @Override
91
+ public String toString() {
92
+ return String.format("[%s]", name);
93
+ }
94
+
95
+ }
96
+
97
+ public boolean isOrgAccesible(Integer orgid) {
98
+ if (organizationsIds == null || orgid == null) {
99
+ return false;
100
+ }
101
+ return organizationsIds.contains(orgid);
102
+ }
103
+
104
+ public boolean isAppAccesible(Integer appid) {
105
+ if (applicationsIds == null || appid == null) {
106
+ return false;
107
+ }
108
+ return applicationsIds.contains(appid);
109
+ }
110
+
93111 }