• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java UnauthorizedException类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了Java中org.apache.cassandra.exceptions.UnauthorizedException的典型用法代码示例。如果您正苦于以下问题:Java UnauthorizedException类的具体用法?Java UnauthorizedException怎么用?Java UnauthorizedException使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



UnauthorizedException类属于org.apache.cassandra.exceptions包,在下文中一共展示了UnauthorizedException类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。

示例1: checkAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void checkAccess(ClientState state) throws UnauthorizedException
{
    AuthenticatedUser user = state.getUser();

    boolean isSuper = user.isSuper();

    if (superuser != null && user.getName().equals(username))
        throw new UnauthorizedException("You aren't allowed to alter your own superuser status");

    if (superuser != null && !isSuper)
        throw new UnauthorizedException("Only superusers are allowed to alter superuser status");

    if (!user.isSuper() && !user.getName().equals(username))
        throw new UnauthorizedException("You aren't allowed to alter this user");

    if (!isSuper)
    {
        for (IAuthenticator.Option option : opts.getOptions().keySet())
        {
            if (!DatabaseDescriptor.getAuthenticator().alterableOptions().contains(option))
                throw new UnauthorizedException(String.format("You aren't allowed to alter %s option", option));
        }
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:25,代码来源:AlterUserStatement.java


示例2: prepareRowMutations

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public List<IMutation> prepareRowMutations(String keyspace, ThriftClientState clientState, Long timestamp, List<ByteBuffer> variables)
throws InvalidRequestException, UnauthorizedException
{
    CFMetaData metadata = validateColumnFamily(keyspace, columnFamily);

    clientState.hasColumnFamilyAccess(keyspace, columnFamily, Permission.MODIFY);
    AbstractType<?> keyType = Schema.instance.getCFMetaData(keyspace, columnFamily).getKeyValidator();

    List<IMutation> rowMutations = new ArrayList<IMutation>(keys.size());

    for (Term key : keys)
    {
        rowMutations.add(mutationForKey(key.getByteBuffer(keyType, variables), keyspace, timestamp, clientState, variables, metadata));
    }

    return rowMutations;
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:18,代码来源:DeleteStatement.java


示例3: checkAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void checkAccess(ClientState state) throws UnauthorizedException, InvalidRequestException
{
    Function function = findFunction();
    if (function == null)
    {
        if (!ifExists)
            throw new InvalidRequestException(String.format("Unconfigured function %s.%s(%s)",
                                                            functionName.keyspace,
                                                            functionName.name,
                                                            Joiner.on(",").join(argRawTypes)));
    }
    else
    {
        state.ensureHasPermission(Permission.DROP, FunctionResource.function(function.name().keyspace,
                                                                             function.name().name,
                                                                             function.argTypes()));
    }
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:19,代码来源:DropFunctionStatement.java


示例4: preventSystemKSSchemaModification

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void preventSystemKSSchemaModification(String keyspace, DataResource resource, Permission perm) throws UnauthorizedException
{
    // we only care about schema modification.
    if (!((perm == Permission.ALTER) || (perm == Permission.DROP) || (perm == Permission.CREATE)))
        return;

    // prevent system keyspace modification
    if (Schema.isSystemKeyspace(keyspace))
        throw new UnauthorizedException(keyspace + " keyspace is not user-modifiable.");

    // allow users with sufficient privileges to alter KS level options on AUTH_KS and
    // TRACING_KS, and also to drop legacy tables (users, credentials, permissions) from
    // AUTH_KS
    if (ALTERABLE_SYSTEM_KEYSPACES.contains(resource.getKeyspace().toLowerCase())
       && ((perm == Permission.ALTER && !resource.isKeyspaceLevel())
           || (perm == Permission.DROP && !DROPPABLE_SYSTEM_TABLES.contains(resource))))
    {
        throw new UnauthorizedException(String.format("Cannot %s %s", perm, resource));
    }
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:21,代码来源:ClientState.java


示例5: checkAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void checkAccess(ClientState state) throws UnauthorizedException, InvalidRequestException
{
    try
    {
        state.hasColumnFamilyAccess(keyspace(), columnFamily(), Permission.DROP);
    }
    catch (InvalidRequestException e)
    {
        if (!ifExists)
            throw e;
    }
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:13,代码来源:DropTableStatement.java


示例6: checkAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void checkAccess(ClientState state) throws UnauthorizedException
{
    // check that the user has AUTHORIZE permission on the resource or its parents, otherwise reject GRANT/REVOKE.
    state.ensureHasPermission(Permission.AUTHORIZE, resource);
    // check that the user has [a single permission or all in case of ALL] on the resource or its parents.
    for (Permission p : permissions)
        state.ensureHasPermission(p, resource);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:9,代码来源:PermissionAlteringStatement.java


示例7: prepareRowMutations

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
/** {@inheritDoc} */
public List<IMutation> prepareRowMutations(String keyspace, ThriftClientState clientState, Long timestamp, List<ByteBuffer> variables)
throws InvalidRequestException, UnauthorizedException
{
    boolean hasCommutativeOperation = false;

    for (Map.Entry<Term, Operation> column : getColumns().entrySet())
    {
        if (!column.getValue().isUnary())
            hasCommutativeOperation = true;

        if (hasCommutativeOperation && column.getValue().isUnary())
            throw new InvalidRequestException("Mix of commutative and non-commutative operations is not allowed.");
    }

    CFMetaData metadata = validateColumnFamily(keyspace, columnFamily, hasCommutativeOperation);
    if (hasCommutativeOperation)
        getConsistencyLevel().validateCounterForWrite(metadata);

    QueryProcessor.validateKeyAlias(metadata, keyName);

    clientState.hasColumnFamilyAccess(keyspace, columnFamily, Permission.MODIFY);

    List<IMutation> mutations = new LinkedList<>();

    for (Term key: keys)
        mutations.add(mutationForKey(keyspace, key.getByteBuffer(getKeyType(keyspace),variables), metadata, timestamp, clientState, variables));

    return mutations;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:31,代码来源:UpdateStatement.java


示例8: getMutations

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public List<IMutation> getMutations(String keyspace, ThriftClientState clientState, List<ByteBuffer> variables)
throws InvalidRequestException, UnauthorizedException
{
    List<IMutation> batch = new LinkedList<IMutation>();

    for (AbstractModification statement : statements) {
        batch.addAll(statement.prepareRowMutations(keyspace, clientState, timestamp, variables));
    }

    return batch;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:12,代码来源:BatchStatement.java


示例9: prepareRowMutations

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public List<IMutation> prepareRowMutations(String keyspace, ThriftClientState clientState, Long timestamp, List<ByteBuffer> variables)
throws InvalidRequestException, UnauthorizedException
{
    CFMetaData metadata = validateColumnFamily(keyspace, columnFamily);

    clientState.hasColumnFamilyAccess(keyspace, columnFamily, Permission.MODIFY);
    AbstractType<?> keyType = Schema.instance.getCFMetaData(keyspace, columnFamily).getKeyValidator();

    List<IMutation> mutations = new ArrayList<IMutation>(keys.size());

    for (Term key : keys)
        mutations.add(mutationForKey(key.getByteBuffer(keyType, variables), keyspace, timestamp, clientState, variables, metadata));

    return mutations;
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:16,代码来源:DeleteStatement.java


示例10: hasAllKeyspacesAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void hasAllKeyspacesAccess(Permission perm) throws UnauthorizedException
{
    if (isInternal)
        return;
    validateLogin();
    ensureHasPermission(perm, DataResource.root());
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:8,代码来源:ClientState.java


示例11: hasAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void hasAccess(String keyspace, Permission perm, DataResource resource)
throws UnauthorizedException, InvalidRequestException
{
    validateKeyspace(keyspace);
    if (isInternal)
        return;
    validateLogin();
    preventSystemKSSchemaModification(keyspace, resource, perm);
    if (perm.equals(Permission.SELECT) && READABLE_SYSTEM_RESOURCES.contains(resource))
        return;
    if (PROTECTED_AUTH_RESOURCES.contains(resource))
        if (perm.equals(Permission.CREATE) || perm.equals(Permission.ALTER) || perm.equals(Permission.DROP))
            throw new UnauthorizedException(String.format("%s schema is protected", resource));
    ensureHasPermission(perm, resource);
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:16,代码来源:ClientState.java


示例12: ensureHasPermission

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void ensureHasPermission(Permission perm, IResource resource) throws UnauthorizedException
{
    for (IResource r : Resources.chain(resource))
        if (authorize(r).contains(perm))
            return;

    throw new UnauthorizedException(String.format("User %s has no %s permission on %s or any of its parents",
                                                  user.getName(),
                                                  perm,
                                                  resource));
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:12,代码来源:ClientState.java


示例13: preventSystemKSSchemaModification

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void preventSystemKSSchemaModification(String keyspace, DataResource resource, Permission perm) throws UnauthorizedException
{
    // we only care about schema modification.
    if (!(perm.equals(Permission.ALTER) || perm.equals(Permission.DROP) || perm.equals(Permission.CREATE)))
        return;

    // prevent system keyspace modification
    if (Keyspace.SYSTEM_KS.equalsIgnoreCase(keyspace))
        throw new UnauthorizedException(keyspace + " keyspace is not user-modifiable.");

    // we want to allow altering AUTH_KS and TRACING_KS.
    Set<String> allowAlter = Sets.newHashSet(Auth.AUTH_KS, Tracing.TRACE_KS);
    if (allowAlter.contains(keyspace.toLowerCase()) && !(resource.isKeyspaceLevel() && perm.equals(Permission.ALTER)))
        throw new UnauthorizedException(String.format("Cannot %s %s", perm, resource));
}
 
开发者ID:vcostet,项目名称:cassandra-kmean,代码行数:16,代码来源:ClientState.java


示例14: prepareRowMutations

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
/** {@inheritDoc} */
public List<IMutation> prepareRowMutations(String keyspace, ThriftClientState clientState, Long timestamp, List<ByteBuffer> variables)
throws InvalidRequestException, UnauthorizedException
{
    boolean hasCommutativeOperation = false;

    for (Map.Entry<Term, Operation> column : getColumns().entrySet())
    {
        if (!column.getValue().isUnary())
            hasCommutativeOperation = true;

        if (hasCommutativeOperation && column.getValue().isUnary())
            throw new InvalidRequestException("Mix of commutative and non-commutative operations is not allowed.");
    }

    CFMetaData metadata = validateColumnFamily(keyspace, columnFamily, hasCommutativeOperation);
    if (hasCommutativeOperation)
        getConsistencyLevel().validateCounterForWrite(metadata);

    QueryProcessor.validateKeyAlias(metadata, keyName);

    clientState.hasColumnFamilyAccess(keyspace, columnFamily, Permission.MODIFY);

    List<IMutation> rowMutations = new LinkedList<IMutation>();

    for (Term key: keys)
    {
        rowMutations.add(mutationForKey(keyspace, key.getByteBuffer(getKeyType(keyspace),variables), metadata, timestamp, clientState, variables));
    }

    return rowMutations;
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:33,代码来源:UpdateStatement.java


示例15: preventSystemKSSchemaModification

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void preventSystemKSSchemaModification(String keyspace, DataResource resource, Permission perm) throws UnauthorizedException
{
    // we only care about schema modification.
    if (!(perm.equals(Permission.ALTER) || perm.equals(Permission.DROP) || perm.equals(Permission.CREATE)))
        return;

    if (Schema.systemKeyspaceNames.contains(keyspace.toLowerCase()))
        throw new UnauthorizedException(keyspace + " keyspace is not user-modifiable.");

    // we want to allow altering AUTH_KS itself.
    if (keyspace.equals(Auth.AUTH_KS) && !(resource.isKeyspaceLevel() && perm.equals(Permission.ALTER)))
        throw new UnauthorizedException(String.format("Cannot %s %s", perm, resource));
}
 
开发者ID:pgaref,项目名称:ACaZoo,代码行数:14,代码来源:ClientState.java


示例16: checkPermission

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void checkPermission(ClientState state, Permission required, RoleResource resource) throws UnauthorizedException
{
    try
    {
        state.ensureHasPermission(required, resource);
    }
    catch (UnauthorizedException e)
    {
        // Catch and rethrow with a more friendly message
        throw new UnauthorizedException(String.format("User %s does not have sufficient privileges " +
                                                      "to perform the requested operation",
                                                      state.getUser().getName()));
    }
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:15,代码来源:AuthenticationStatement.java


示例17: hasAccess

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void hasAccess(String keyspace, Permission perm, DataResource resource)
throws UnauthorizedException, InvalidRequestException
{
    validateKeyspace(keyspace);
    if (isInternal)
        return;
    validateLogin();
    preventSystemKSSchemaModification(keyspace, resource, perm);
    if ((perm == Permission.SELECT) && READABLE_SYSTEM_RESOURCES.contains(resource))
        return;
    if (PROTECTED_AUTH_RESOURCES.contains(resource))
        if ((perm == Permission.CREATE) || (perm == Permission.ALTER) || (perm == Permission.DROP))
            throw new UnauthorizedException(String.format("%s schema is protected", resource));
    ensureHasPermission(perm, resource);
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:16,代码来源:ClientState.java


示例18: ensureHasPermission

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
public void ensureHasPermission(Permission perm, IResource resource) throws UnauthorizedException
{
    if (DatabaseDescriptor.getAuthorizer() instanceof AllowAllAuthorizer)
        return;

    // Access to built in functions is unrestricted
    if(resource instanceof FunctionResource && resource.hasParent())
        if (((FunctionResource)resource).getKeyspace().equals(SystemKeyspace.NAME))
            return;

    checkPermissionOnResourceChain(perm, resource);
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:13,代码来源:ClientState.java


示例19: checkPermissionOnResourceChain

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void checkPermissionOnResourceChain(Permission perm, IResource resource)
{
    for (IResource r : Resources.chain(resource))
        if (authorize(r).contains(perm))
            return;

    throw new UnauthorizedException(String.format("User %s has no %s permission on %s or any of its parents",
                                                  user.getName(),
                                                  perm,
                                                  resource));
}
 
开发者ID:scylladb,项目名称:scylla-tools-java,代码行数:12,代码来源:ClientState.java


示例20: validateLogin

import org.apache.cassandra.exceptions.UnauthorizedException; //导入依赖的package包/类
private void validateLogin() throws InvalidRequestException
{
    try
    {
        state().validateLogin();
    }
    catch (UnauthorizedException e)
    {
        throw new InvalidRequestException(e.getMessage());
    }
}
 
开发者ID:wso2,项目名称:wso2-cassandra,代码行数:12,代码来源:CassandraServer.java



注:本文中的org.apache.cassandra.exceptions.UnauthorizedException类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java Populator类代码示例发布时间:2022-05-22
下一篇:
Java SocketBinding类代码示例发布时间:2022-05-22
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap