From aad82d1a51a20c59adf644896338958f9a821a62 Mon Sep 17 00:00:00 2001 From: Patrick Date: Mon, 3 Aug 2020 23:45:27 +0000 Subject: [PATCH] add accounts for login/logout --- fet2020/accounts/__init__.py | 0 fet2020/accounts/admin.py | 3 +++ fet2020/accounts/apps.py | 5 +++++ fet2020/accounts/models.py | 3 +++ fet2020/accounts/tests.py | 3 +++ fet2020/accounts/views.py | 40 ++++++++++++++++++++++++++++++++++++ fet2020/fet2020/settings.py | 1 + 7 files changed, 55 insertions(+) create mode 100644 fet2020/accounts/__init__.py create mode 100644 fet2020/accounts/admin.py create mode 100644 fet2020/accounts/apps.py create mode 100644 fet2020/accounts/models.py create mode 100644 fet2020/accounts/tests.py create mode 100644 fet2020/accounts/views.py diff --git a/fet2020/accounts/__init__.py b/fet2020/accounts/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/fet2020/accounts/admin.py b/fet2020/accounts/admin.py new file mode 100644 index 00000000..4185d360 --- /dev/null +++ b/fet2020/accounts/admin.py @@ -0,0 +1,3 @@ +# from django.contrib import admin + +# Register your models here. diff --git a/fet2020/accounts/apps.py b/fet2020/accounts/apps.py new file mode 100644 index 00000000..9b3fc5a4 --- /dev/null +++ b/fet2020/accounts/apps.py @@ -0,0 +1,5 @@ +from django.apps import AppConfig + + +class AccountsConfig(AppConfig): + name = 'accounts' diff --git a/fet2020/accounts/models.py b/fet2020/accounts/models.py new file mode 100644 index 00000000..0b4331b3 --- /dev/null +++ b/fet2020/accounts/models.py @@ -0,0 +1,3 @@ +# from django.db import models + +# Create your models here. diff --git a/fet2020/accounts/tests.py b/fet2020/accounts/tests.py new file mode 100644 index 00000000..a79ca8be --- /dev/null +++ b/fet2020/accounts/tests.py @@ -0,0 +1,3 @@ +# from django.test import TestCase + +# Create your tests here. diff --git a/fet2020/accounts/views.py b/fet2020/accounts/views.py new file mode 100644 index 00000000..bd388ef9 --- /dev/null +++ b/fet2020/accounts/views.py @@ -0,0 +1,40 @@ +# from django.shortcuts import render + +# Create your views here. +############################## +import ldap3 +from pprint import pprint + + +server_uri = 'ipa.demo1.freeipa.org' +search_base = 'ou=users,dc=example,dc=com' +search_filter = '(uid=rob)' +attrs = ['*'] + +# Using ldap3 +server = ldap3.Server(server_uri, get_info='ALL') +with ldap3.Connection(server, auto_bind=True) as conn: + conn.search(search_base, search_filter, attributes=attrs) + pprint(conn.entries) + pprint(server.info) + +# [DN: uid=rob,ou=users,dc=example,dc=com +# cn: Rob McBroom +# displayName: Rob McBroom +# gidNumber: 99999 +# givenName: Rob +# homeDirectory: /home/rob +# homePhone: 800-555-1212 +# host: * +# loginShell: /bin/zsh +# mail: rob@example.com +# objectClass: top +# inetOrgPerson +# hostObject +# posixAccount +# sn: McBroom +# uid: rob +# uidNumber: 99999 +# ] + +######################################## diff --git a/fet2020/fet2020/settings.py b/fet2020/fet2020/settings.py index 97ca8e27..5d918512 100644 --- a/fet2020/fet2020/settings.py +++ b/fet2020/fet2020/settings.py @@ -63,6 +63,7 @@ INSTALLED_APPS = [ 'rest_framework', 'django_filters', 'django_static_jquery_ui', + 'accounts.apps.AccountsConfig', 'posts.apps.PostsConfig', 'members.apps.MembersConfig', 'documents.apps.DocumentsConfig',