You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
1.2 KiB
32 lines
1.2 KiB
__author__ = 'frank'
|
|
|
|
import splunk.admin as admin
|
|
import cp_aws_bin.utils.app_util as util
|
|
from splunklib.client import Entity
|
|
from cp_aws_bin.utils.local_manager import LocalServiceManager
|
|
|
|
|
|
class CurrentContextHandler(admin.MConfigHandler):
|
|
def setup(self):
|
|
pass
|
|
|
|
def handleList(self, confInfo):
|
|
session_key = self.getSessionKey()
|
|
service = LocalServiceManager(app=util.APP_NAME, session_key=session_key).get_local_service()
|
|
|
|
current_context = Entity(service, 'authentication/current-context')
|
|
|
|
roles = current_context.content['roles']
|
|
capabilities = current_context.content['capabilities']
|
|
|
|
confInfo['current_context'].append('roles', roles)
|
|
confInfo['current_context'].append('capabilities', capabilities)
|
|
confInfo['current_context'].append('username', current_context.content['username'])
|
|
confInfo['current_context'].append('is_admin', 'admin_all_objects' in capabilities or 'admin' in roles)
|
|
# Change 1 instead of util.is_swc_admin function call(admin role removed in cp)
|
|
confInfo['current_context'].append('is_aws_admin', "1")
|
|
|
|
return
|
|
|
|
|
|
admin.init(CurrentContextHandler, admin.CONTEXT_APP_ONLY) |