Browse Source

Configured permissions for oauth feature

pull/3557/head
viktor 6 years ago
parent
commit
db617b404e
  1. 1
      application/src/main/java/org/thingsboard/server/service/security/permission/SysAdminPermissions.java
  2. 13
      application/src/main/java/org/thingsboard/server/service/security/permission/TenantAdminPermissions.java

1
application/src/main/java/org/thingsboard/server/service/security/permission/SysAdminPermissions.java

@ -39,6 +39,7 @@ public class SysAdminPermissions extends AbstractPermissions {
put(Resource.USER, userPermissionChecker);
put(Resource.WIDGETS_BUNDLE, systemEntityPermissionChecker);
put(Resource.WIDGET_TYPE, systemEntityPermissionChecker);
put(Resource.OAUTH2_CONFIGURATION, PermissionChecker.allowAllPermissionChecker);
}
private static final PermissionChecker systemEntityPermissionChecker = new PermissionChecker() {

13
application/src/main/java/org/thingsboard/server/service/security/permission/TenantAdminPermissions.java

@ -15,6 +15,7 @@
*/
package org.thingsboard.server.service.security.permission;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import org.thingsboard.server.common.data.HasTenantId;
import org.thingsboard.server.common.data.User;
@ -22,6 +23,7 @@ import org.thingsboard.server.common.data.id.EntityId;
import org.thingsboard.server.common.data.id.TenantId;
import org.thingsboard.server.common.data.id.UserId;
import org.thingsboard.server.common.data.security.Authority;
import org.thingsboard.server.dao.oauth2.OAuth2Service;
import org.thingsboard.server.service.security.model.SecurityUser;
import java.util.HashMap;
@ -29,6 +31,9 @@ import java.util.HashMap;
@Component(value="tenantAdminPermissions")
public class TenantAdminPermissions extends AbstractPermissions {
@Autowired
private OAuth2Service oAuth2Service;
public TenantAdminPermissions() {
super();
put(Resource.ALARM, tenantEntityPermissionChecker);
@ -42,6 +47,7 @@ public class TenantAdminPermissions extends AbstractPermissions {
put(Resource.USER, userPermissionChecker);
put(Resource.WIDGETS_BUNDLE, widgetsPermissionChecker);
put(Resource.WIDGET_TYPE, widgetsPermissionChecker);
put(Resource.OAUTH2_CONFIGURATION, tenantOAuth2ConfigPermissionChecker);
}
public static final PermissionChecker tenantEntityPermissionChecker = new PermissionChecker() {
@ -101,4 +107,11 @@ public class TenantAdminPermissions extends AbstractPermissions {
}
};
private final PermissionChecker tenantOAuth2ConfigPermissionChecker = new PermissionChecker() {
@Override
public boolean hasPermission(SecurityUser user, Operation operation) {
return oAuth2Service.isOAuth2ClientRegistrationAllowed(user.getTenantId());
}
};
}

Loading…
Cancel
Save