blob: f122ccd557db7b373d80df634d008b8ab8a0a8c2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
|
from django.contrib.auth import logout
from django.http import HttpResponseRedirect
from django.conf import settings
from django.core.urlresolvers import reverse
from django.contrib.auth.views import login
def fedlogin(request):
user = request.user
if user.is_authenticated():
first_name = request.META.get('HTTP_GIVENNAME')
last_name = request.META.get('HTTP_SN')
email = request.META.get('HTTP_MAIL')
affiliations = request.META.get('HTTP_AFFILIATION', '').split(';')
if first_name:
user.first_name = first_name
if last_name:
user.last_name = last_name
if email:
user.email = email
user.is_staff = 'employee@nordu.net' in affiliations
user.is_active = 'employee@nordu.net' in affiliations or 'member@nordu.net' in affiliations
if user.password == "":
user.password = "(not used for federated logins)"
user.save()
_next = request.GET.get('next')
if _next:
return HttpResponseRedirect(_next)
else:
return HttpResponseRedirect(reverse(login))
def fedlogout(request):
logout(request)
url = getattr(settings, 'FEDERATE_LOGOUT_URL', '/Shibboleth.sso/Logout')
return HttpResponseRedirect(url)
|