Search in sources :

Example 6 with UinGrantee

use of com.qcloud.cos.model.UinGrantee in project cos-java-sdk-v5 by tencentyun.

the class AclTest method setGetBucketAclTest.

@Test
public void setGetBucketAclTest() {
    if (!judgeUserInfoValid()) {
        return;
    }
    AccessControlList acl = new AccessControlList();
    Owner owner = new Owner();
    owner.setId("qcs::cam::uin/2779643970:uin/2779643970");
    acl.setOwner(owner);
    String id = "qcs::cam::uin/2779643970:uin/734505014";
    UinGrantee uinGrantee = new UinGrantee(id);
    uinGrantee.setIdentifier(id);
    acl.grantPermission(uinGrantee, Permission.FullControl);
    cosclient.setBucketAcl(bucket, acl);
    AccessControlList aclGet = cosclient.getBucketAcl(bucket);
    List<Grant> grants = aclGet.getGrantsAsList();
    assertEquals(1L, grants.size());
    assertEquals(id, grants.get(0).getGrantee().getIdentifier());
    assertEquals(Permission.FullControl.toString(), grants.get(0).getPermission().toString());
}
Also used : CannedAccessControlList(com.qcloud.cos.model.CannedAccessControlList) AccessControlList(com.qcloud.cos.model.AccessControlList) UinGrantee(com.qcloud.cos.model.UinGrantee) Grant(com.qcloud.cos.model.Grant) Owner(com.qcloud.cos.model.Owner) Test(org.junit.Test)

Example 7 with UinGrantee

use of com.qcloud.cos.model.UinGrantee in project cos-java-sdk-v5 by tencentyun.

the class SetGetObjectAclDemo method setGetObjectAclTest.

public static void setGetObjectAclTest() {
    // 1 初始化用户身份信息(secretId, secretKey)
    COSCredentials cred = new BasicCOSCredentials("AKIDXXXXXXXX", "1A2Z3YYYYYYYYYY");
    // 2 设置bucket的区域, COS地域的简称请参照 https://www.qcloud.com/document/product/436/6224
    ClientConfig clientConfig = new ClientConfig(new Region("ap-guangzhou"));
    // 3 生成cos客户端
    COSClient cosclient = new COSClient(cred, clientConfig);
    // bucket名需包含appid
    String bucketName = "mybucket-1251668577";
    String key = "aaa/bbb.txt";
    cosclient.putObject(bucketName, key, "data");
    // 设置对象的acl
    AccessControlList acl = new AccessControlList();
    Owner owner = new Owner();
    owner.setId("qcs::cam::uin/2779643970:uin/2779643970");
    acl.setOwner(owner);
    // 设置子账号734505014具有WriteAcp权限
    String id = "qcs::cam::uin/2779643970:uin/734505014";
    UinGrantee uinGrantee = new UinGrantee(id);
    uinGrantee.setIdentifier(id);
    // 设置子账号909619400具有Read权限
    acl.grantPermission(uinGrantee, Permission.WriteAcp);
    String id1 = "qcs::cam::uin/2779643970:uin/909619400";
    UinGrantee uinGrantee1 = new UinGrantee(id1);
    uinGrantee.setIdentifier(id1);
    acl.grantPermission(uinGrantee1, Permission.Read);
    cosclient.setObjectAcl(bucketName, key, acl);
    // 获取对象的acl
    AccessControlList aclGet = cosclient.getObjectAcl(bucketName, key);
    List<Grant> grants = aclGet.getGrantsAsList();
    // private object acl
    cosclient.setObjectAcl(bucketName, key, CannedAccessControlList.Private);
    AccessControlList accessControlList = cosclient.getObjectAcl(bucketName, key);
    System.out.println("private object acl:" + accessControlList.getCannedAccessControl());
    // public-read object acl
    cosclient.setObjectAcl(bucketName, key, CannedAccessControlList.PublicRead);
    accessControlList = cosclient.getObjectAcl(bucketName, key);
    System.out.println("public-read object acl:" + accessControlList.getCannedAccessControl());
    // default object acl
    cosclient.setObjectAcl(bucketName, key, CannedAccessControlList.Default);
    accessControlList = cosclient.getObjectAcl(bucketName, key);
    System.out.println("default object acl:" + accessControlList.getCannedAccessControl());
}
Also used : COSClient(com.qcloud.cos.COSClient) CannedAccessControlList(com.qcloud.cos.model.CannedAccessControlList) AccessControlList(com.qcloud.cos.model.AccessControlList) UinGrantee(com.qcloud.cos.model.UinGrantee) Grant(com.qcloud.cos.model.Grant) Owner(com.qcloud.cos.model.Owner) COSCredentials(com.qcloud.cos.auth.COSCredentials) BasicCOSCredentials(com.qcloud.cos.auth.BasicCOSCredentials) BasicCOSCredentials(com.qcloud.cos.auth.BasicCOSCredentials) Region(com.qcloud.cos.region.Region) ClientConfig(com.qcloud.cos.ClientConfig)

Aggregations

AccessControlList (com.qcloud.cos.model.AccessControlList)7 UinGrantee (com.qcloud.cos.model.UinGrantee)7 CannedAccessControlList (com.qcloud.cos.model.CannedAccessControlList)6 Grant (com.qcloud.cos.model.Grant)5 Owner (com.qcloud.cos.model.Owner)4 Test (org.junit.Test)4 COSClient (com.qcloud.cos.COSClient)2 ClientConfig (com.qcloud.cos.ClientConfig)2 BasicCOSCredentials (com.qcloud.cos.auth.BasicCOSCredentials)2 COSCredentials (com.qcloud.cos.auth.COSCredentials)2 CreateBucketRequest (com.qcloud.cos.model.CreateBucketRequest)2 Region (com.qcloud.cos.region.Region)2 CosServiceException (com.qcloud.cos.exception.CosServiceException)1 Bucket (com.qcloud.cos.model.Bucket)1 BucketVersioningConfiguration (com.qcloud.cos.model.BucketVersioningConfiguration)1 Grantee (com.qcloud.cos.model.Grantee)1 GroupGrantee (com.qcloud.cos.model.GroupGrantee)1 PutObjectRequest (com.qcloud.cos.model.PutObjectRequest)1 PutObjectResult (com.qcloud.cos.model.PutObjectResult)1 File (java.io.File)1