Configured permissions for oauth feature

This commit is contained in:
viktor 2020-06-23 19:20:30 +03:00
parent e650cb0c24
commit db617b404e
2 changed files with 14 additions and 0 deletions

View File

@ -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() {

View File

@ -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());
}
};
}