本文整理汇总了Java中org.opendaylight.controller.containermanager.IContainerAuthorization类的典型用法代码示例。如果您正苦于以下问题:Java IContainerAuthorization类的具体用法?Java IContainerAuthorization怎么用?Java IContainerAuthorization使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
IContainerAuthorization类属于org.opendaylight.controller.containermanager包,在下文中一共展示了IContainerAuthorization类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: getContainerPrivilege
import org.opendaylight.controller.containermanager.IContainerAuthorization; //导入依赖的package包/类
/**
* Returns the access privilege the user has on the specified container
*
* @param userName
* The user name
* @param container
* The container name. If null, the default container will be assumed
* @param bundle
* The bundle originating the request
* @return The access privilege the user is granted on the container
*/
public static Privilege getContainerPrivilege(String userName,
String container, Object bundle) {
// Derive the target resource
String resource = (container == null) ? GlobalConstants.DEFAULT.toString() : container;
// Retrieve the Container Authorization service
IContainerAuthorization auth = (IContainerAuthorization) ServiceHelper
.getGlobalInstance(IContainerAuthorization.class, bundle);
if (auth != null) {
return auth.getResourcePrivilege(userName, resource);
}
/*
* Container Authorization service not available. We can only derive the
* access privilege to the default container based on user level
*/
if (resource.equals(GlobalConstants.DEFAULT.toString())) {
IUserManager userManager = (IUserManager) ServiceHelper
.getGlobalInstance(IUserManager.class, bundle);
if (userManager != null) {
switch (userManager.getUserLevel(userName)) {
case NETWORKADMIN:
return Privilege.WRITE;
case NETWORKOPERATOR:
return Privilege.READ;
default:
return Privilege.NONE;
}
}
}
return Privilege.NONE;
}
示例2: configureGlobalInstance
import org.opendaylight.controller.containermanager.IContainerAuthorization; //导入依赖的package包/类
/**
* Configure the dependency for a given instance Global
*
* @param c Component assigned for this instance, this will be
* what will be used for configuration
* @param imp implementation to be configured
* @param containerName container on which the configuration happens
*/
protected void configureGlobalInstance(Component c, Object imp) {
if (imp.equals(UserManagerImpl.class)) {
// export the service
Dictionary<String, Set<String>> props = new Hashtable<String, Set<String>>();
Set<String> propSet = new HashSet<String>();
propSet.add("usermanager.localUserSaveConfigEvent");
propSet.add("usermanager.remoteServerSaveConfigEvent");
propSet.add("usermanager.authorizationSaveConfigEvent");
props.put("cachenames", propSet);
// export the service
c.setInterface(new String[] { ICacheUpdateAware.class.getName(),
IUserManager.class.getName(),
IConfigurationAware.class.getName() }, props);
c.add(createServiceDependency().setService(
IClusterGlobalServices.class).setCallbacks(
"setClusterGlobalService", "unsetClusterGlobalService")
.setRequired(true));
c.add(createServiceDependency().setService(IAAAProvider.class)
.setCallbacks("addAAAProvider", "removeAAAProvider")
.setRequired(false));
c.add(createServiceDependency().setService(
IContainerAuthorization.class).setCallbacks(
"setContainerAuthClient", "unsetContainerAuthClient")
.setRequired(false));
c.add(createServiceDependency().setService(
IResourceAuthorization.class).setCallbacks(
"setAppAuthClient", "unsetAppAuthClient")
.setRequired(false));
}
}
示例3: unsetContainerAuthClient
import org.opendaylight.controller.containermanager.IContainerAuthorization; //导入依赖的package包/类
void unsetContainerAuthClient(IContainerAuthorization s) {
if (this.containerAuthorizationClient == s) {
this.containerAuthorizationClient = null;
}
}
示例4: setContainerAuthClient
import org.opendaylight.controller.containermanager.IContainerAuthorization; //导入依赖的package包/类
void setContainerAuthClient(IContainerAuthorization s) {
this.containerAuthorizationClient = s;
}