public interface RolePrivilegeProvider
RolePrivilegeProvider
is used to
provide customized privilege setting of role. In addition to getting role privilege setting
from customer's external security system, this interface also provides the ability
to modify role privilege setting in customer's external security system.jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
indicating credential to deploy reports/catalogs to the server, jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
indicating credential to access advanced informationModifier and Type | Method and Description |
---|---|
java.util.Hashtable |
getRolePrivileges(java.lang.String realmName)
Gets all roles' privilege settings from customer's external security system.
|
boolean |
isEnableEdit()
Indicates whether customer's external security system will be modified by
invoking some methods in
RolePrivilegeProvider .In common cases, invoking setRolePrivileges() should take effect on
customer's external security system, and cause modification of external security
system, this method should return true in such cases. |
void |
setRolePrivileges(java.lang.String realmName,
java.lang.String roleName,
java.lang.String[] privileges)
Sets a role's privileges in customer's external security system.
|
java.util.Hashtable getRolePrivileges(java.lang.String realmName) throws JRCustomerException
realmName
- the realm name.Hashtable
object to represent all roles' privilege
settings. In the returned Hashtable
, the key is role name, the value
is a String
array, which may contain below strings:
jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
and
jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
indicating credential to deploy reports/catalogs to the server,
jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
indicating credential to access advanced informationJRCustomerException
- If an error occurs during JReport server security
system invoking this method, and the implementation thinks this error should be thrown
to JReport server security system.void setRolePrivileges(java.lang.String realmName, java.lang.String roleName, java.lang.String[] privileges) throws NoSuchRoleException, JRCustomerException
realmName
- the realm name.roleName
- the role name.privileges
- A String
array, which may contain below strings:
jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
and
jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
jet.cs.util.APIConst.PRIVILEGE_PUBLISH_REPORT
indicating credential to deploy reports/catalogs to the server,
jet.cs.util.APIConst.PRIVILEGE_ACCESS_ADVANCED_PROPERTIES
indicating credential to access advanced informationNoSuchRoleException
- If there is no role with the specified name in
customer's external security system.JRCustomerException
- If an error occurs during JReport server security
system invoking this method, and the implementation thinks this error should be thrown
to JReport server security system.boolean isEnableEdit()
RolePrivilegeProvider
.setRolePrivileges()
should take effect on
customer's external security system, and cause modification of external security
system, this method should return true
in such cases. If customer's external
security system will not be affected by invoking setRolePrivileges()
,
this method should return false
. isEditing()
with parameter
SecurityWebAdaptor.ACTION_EDIT_ROLE_PRIVILEGES
in jet.server.api.SecurityWebAdaptor
is the same as this method's return value.true
if external security system will be affected by invoking
setRolePrivileges()
, otherwise return false
.SecurityWebAdaptor