10 Nisan 2023 Pazartesi

HazelcastAPI PermissionConfig Sınıfı

Giriş
Şu satırı dahil ederiz
import com.hazelcast.config.PermissionConfig;
Örnek
MessageTask şöyledir. Bu işlem için ACTION_SUBMIT iznini gerektirir.
public class JetUploadJobMetaDataTask extends
        AbstractJetMessageTask<JetUploadJobMetaDataCodec.RequestParameters, Boolean> {

  @Override
  public String[] actions() {
    return new String[]{ActionConstants.ACTION_SUBMIT};
  }
  ...
}
AbstractJetMessageTask şöyledir. Yani Job için izinleri döndürür.
abstract class AbstractJetMessageTask<P, R> extends AbstractInvocationMessageTask<P> {
   
  @Override
  public final Permission getRequiredPermission() {
    String[] actions = actions();
    if (actions != null) {
      return new JobPermission(actions);
    }
    return null;
  }
  ...
}
Member'ı çalıştırırken şöyle yaparız. addClientPermissionConfig() ile  dev istemcisinin ACTION_SUBMIT yeteneği etkin olur. Job submit edebilir. Çünkü JetUploadJobMetaDataTask nesnesi ACTION_SUBMIT iznine ihtiyaç duyar
Config config = ...;
SecurityConfig securityConfig = config.getSecurityConfig();
securityConfig.setEnabled(true);

String principal = "dev"
securityConfig.addClientPermissionConfig(
  new PermissionConfig(PermissionConfig.JOB, "", principal)
    .addAction(ActionConstants.ACTION_SUBMIT));

securityConfig.addClientPermissionConfig(
  new PermissionConfig(PermissionConfig.ALL, "", principal)
    .addAction(ActionConstants.ACTION_ALL));

Hiç yorum yok:

Yorum Gönder

THIRD-PARTY.txt Dosyası

Kullanılan harici kütüphanelerin sürümleri bu dosyada Dosyanın yolu şöyle hazelcast/licenses/THIRD-PARTY.txt