コード例 #1
0
    def setUpPloneSite(self, portal):

        # Setup PAS plugin
        uf = portal.acl_users
        plugin = CASAuthenticationPlugin(
            'cas_auth', cas_server_url='https://cas.domain.net')
        uf._setObject(plugin.getId(), plugin)
        plugin = uf['cas_auth']
        plugin.manage_activateInterfaces([
            'IAuthenticationPlugin',
            'IChallengePlugin',
            'IExtractionPlugin',
        ])
        self['plugin'] = plugin
コード例 #2
0
    def test_config_contains_cas_url(self, browser):
        # Install CAS plugin
        uf = self.portal.acl_users
        plugin = CASAuthenticationPlugin(
            'cas_auth', cas_server_url='https://cas.server.local')
        uf._setObject(plugin.getId(), plugin)
        plugin = uf['cas_auth']
        plugin.manage_activateInterfaces([
            'IAuthenticationPlugin',
            'IChallengePlugin',
            'IExtractionPlugin',
        ])

        self.login(self.regular_user, browser)
        browser.open(self.portal.absolute_url() + '/@config',
                     headers={'Accept': 'application/json'})
        self.assertEqual(browser.status_code, 200)
        self.assertEqual(browser.json.get(u'cas_url'),
                         'https://cas.server.local')
コード例 #3
0
    def test_config_contains_cas_url(self, browser):
        # Install CAS plugin
        uf = self.portal.acl_users
        plugin = CASAuthenticationPlugin(
            'cas_auth', cas_server_url='https://cas.server.local')
        uf._setObject(plugin.getId(), plugin)
        plugin = uf['cas_auth']
        plugin.manage_activateInterfaces([
            'IAuthenticationPlugin',
            'IChallengePlugin',
            'IExtractionPlugin',
        ])

        self.login(self.regular_user, browser)
        browser.open(self.portal.absolute_url() + '/@config',
                     headers={'Accept': 'application/json'})
        self.assertEqual(browser.status_code, 200)
        self.assertEqual(
            browser.json.get(u'cas_url'), 'https://cas.server.local')
コード例 #4
0
def install_cas_auth_plugin():
    acl_users = api.portal.get_tool('acl_users')

    if 'cas_auth' not in acl_users.objectIds():
        # Build the URL for the CAS server once during initial setup and
        # configure it for the plugin.
        cas_server_url = build_cas_server_url()

        plugin = CASAuthenticationPlugin(
            'cas_auth', cas_server_url=cas_server_url)
        acl_users._setObject(plugin.getId(), plugin)
        plugin = acl_users['cas_auth']
        plugin.manage_activateInterfaces([
            'IAuthenticationPlugin',
            'IChallengePlugin',
            'IExtractionPlugin',
        ])

        # Move challenge plugin to top position
        while not acl_users.plugins.listPluginIds(IChallengePlugin)[0] == 'cas_auth':
            acl_users.plugins.movePluginsUp(IChallengePlugin, ['cas_auth'])