Exemplo n.º 1
0
 def decorator(request, *args, **kwargs):
     # Do nothing if the remoteuser backend isn't activated
     if (('shibboleth.backends.ShibbolethRemoteUserBackend'
          not in settings.AUTHENTICATION_BACKENDS)):
         pass
     else:
         shib = ShibbolethRemoteUserMiddleware()
         # Process the request with the Shib middlemare,
         # which will log the user in if we can.
         shib.process_request(request)
     return func(request, *args, **kwargs)
Exemplo n.º 2
0
    def test_get_role_by_affiliation(self):
        obj = ShibbolethRemoteUserMiddleware()

        assert obj._get_role_by_affiliation('*****@*****.**') == 'staff'
        assert obj._get_role_by_affiliation('*****@*****.**') == 'staff'
        assert obj._get_role_by_affiliation('*****@*****.**') == 'student'

        # test jokers
        assert obj._get_role_by_affiliation('*****@*****.**') == 'student'
        assert obj._get_role_by_affiliation('*****@*****.**') == 'aaa'
        assert obj._get_role_by_affiliation('*****@*****.**') == 'guest'
Exemplo n.º 3
0
    def setUp(self):
        self.remove_user('*****@*****.**')

        self.middleware = ShibbolethRemoteUserMiddleware()
        self.factory = RequestFactory()
        # Create an instance of a GET request.
        self.request = self.factory.get('/foo/')

        self.request.user = self.user
        self.request.user.is_authenticated = lambda: False
        self.request.cloud_mode = False
        self.request.session = self.client.session

        self.request.META = {}
        self.request.META['Shibboleth-eppn'] = '*****@*****.**'
        self.request.META['REMOTE_USER'] = '******'
        self.request.META['givenname'] = 'test_gname'
        self.request.META['surname'] = 'test_sname'
Exemplo n.º 4
0
    def setUp(self):
        self.remove_user('*****@*****.**')

        self.middleware = ShibbolethRemoteUserMiddleware()
        self.factory = RequestFactory()
        # Create an instance of a GET request.
        self.request = self.factory.get('/sso/')

        self.request.user = self.user
        self.request.user.is_authenticated = lambda: False
        self.request.cloud_mode = False
        self.request.session = self.client.session

        self.request.META = {}
        self.request.META['Shibboleth-eppn'] = '*****@*****.**'
        self.request.META['REMOTE_USER'] = '******'
        self.request.META['givenname'] = 'test_gname'
        self.request.META['surname'] = 'test_sname'
        self.request.META['Shibboleth-displayName'] = 'Sample Developer'
        self.request.META['Shibboleth-affiliation'] = '[email protected];[email protected];[email protected];[email protected]'

        # default settings
        assert getattr(settings, 'SHIB_ACTIVATE_AFTER_CREATION', True) is True
Exemplo n.º 5
0
 def test_inheritance_middleware(self):
     from shibboleth.middleware import ShibbolethRemoteUserMiddleware
     middleware = ShibbolethRemoteUserMiddleware()
     assert hasattr(middleware, "_remove_invalid_user")
     assert hasattr(middleware, "clean_username")