All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.jd.blockchain.ledger.UserAuthorizationSettings Maven / Gradle / Ivy

package com.jd.blockchain.ledger;

import java.util.Collection;

import com.jd.blockchain.utils.Bytes;

public interface UserAuthorizationSettings {

	/**
	 * 单一用户可被授权的角色数量的最大值;
	 */
	public static final int MAX_ROLES_PER_USER = 20;

	/**
	 * 进行了授权的用户的数量;
	 * 
	 * @return
	 */
	long getUserCount();

	/**
	 * 查询角色授权;
	 * 
	 * 
* 如果不存在,则返回 null; * * @param address * @return */ UserRoles getUserRoles(Bytes userAddress); /** * 返回全部的用户授权; * * @return */ UserRoles[] getUserRoles(); /** * 是否只读; * * @return */ boolean isReadonly(); /** * 加入新的用户角色授权;
* * 如果该用户的授权已经存在,则引发 {@link LedgerException} 异常; * * @param userAddress * @param rolesPolicy * @param roles */ void addUserRoles(Bytes userAddress, RolesPolicy rolesPolicy, String... roles); /** * 加入新的用户角色授权;
* * 如果该用户的授权已经存在,则引发 {@link LedgerException} 异常; * * @param userAddress * @param rolesPolicy * @param roles */ void addUserRoles(Bytes userAddress, RolesPolicy rolesPolicy, Collection roles); /** * 更新用户角色授权;
* 如果指定用户的授权不存在,或者版本不匹配,则引发 {@link LedgerException} 异常; * * @param userRoles */ void updateUserRoles(UserRoles userRoles); /** * 设置用户的角色;
* 如果用户的角色授权不存在,则创建新的授权; * * @param userAddress 用户; * @param policy 角色策略; * @param roles 角色列表; * @return */ long setRoles(Bytes userAddress, RolesPolicy policy, String... roles); }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy