|
7 | 7 | import com.flowlogix.website.ui.Constants; |
8 | 8 | import java.util.Collection; |
9 | 9 | import java.util.HashSet; |
| 10 | +import java.util.Set; |
10 | 11 | import lombok.Cleanup; |
11 | 12 | import lombok.SneakyThrows; |
12 | 13 | import org.apache.shiro.authc.AuthenticationException; |
|
16 | 17 | import org.apache.shiro.authc.UsernamePasswordToken; |
17 | 18 | import org.apache.shiro.authz.AuthorizationException; |
18 | 19 | import org.apache.shiro.authz.AuthorizationInfo; |
19 | | -import org.apache.shiro.authz.Permission; |
20 | 20 | import org.apache.shiro.authz.SimpleAuthorizationInfo; |
21 | 21 | import org.apache.shiro.authz.permission.WildcardPermission; |
22 | 22 | import org.apache.shiro.authz.permission.WildcardPermissionResolver; |
@@ -70,23 +70,21 @@ protected AuthenticationInfo doGetAuthenticationInfo(AuthenticationToken token) |
70 | 70 | @Override |
71 | 71 | @SneakyThrows(PAMException.class) |
72 | 72 | protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) { |
73 | | - var roles = new HashSet<String>(); |
74 | | - var permissions = new HashSet<Permission>(); |
75 | | - permissions.add(new WildcardPermission("mail:*")); |
76 | 73 | Collection<UserAuth> principalsList = principals.byType(UserAuth.class); |
77 | 74 |
|
78 | 75 | if (principalsList.isEmpty()) { |
79 | 76 | throw new AuthorizationException("Empty principals list!"); |
80 | 77 | } |
81 | 78 |
|
| 79 | + var roles = new HashSet<String>(); |
82 | 80 | for (UserAuth userPrincipal : principalsList) { |
83 | 81 | @Cleanup("dispose") |
84 | 82 | PAM pam = getPam(); |
85 | 83 | UnixUser unixUser = pam.authenticate(userPrincipal.getUserName(), userPrincipal.getPassword()); |
86 | 84 | roles.addAll(unixUser.getGroups()); |
87 | 85 | } |
88 | 86 | SimpleAuthorizationInfo info = new SimpleAuthorizationInfo(roles); |
89 | | - info.setObjectPermissions(permissions); |
| 87 | + info.setObjectPermissions(Set.of(new WildcardPermission("mail:*"))); |
90 | 88 |
|
91 | 89 | return info; |
92 | 90 | } |
|
0 commit comments