[SUCS Devel] [Git][sucssite/gameauth][master] Use the new ldap auth lib from a git repo for easy updating
Imran Hussain
imranh at sucs.org
Sun Oct 27 14:42:46 GMT 2019
Imran Hussain pushed to branch master at sucssite / gameauth
Commits:
d9019ebf by Imran Hussain at 2019-10-27T14:41:16Z
Use the new ldap auth lib from a git repo for easy updating
- - - - -
4 changed files:
- + .gitmodules
- controll_2.php
- + ldap-auth
- − ldap-auth.php
Changes:
=====================================
.gitmodules
=====================================
@@ -0,0 +1,3 @@
+[submodule "ldap-auth"]
+ path = ldap-auth
+ url = git at projects.sucs.org:imranh/ldap-auth.git
=====================================
controll_2.php
=====================================
@@ -23,7 +23,7 @@
Then destroys the session logging them out fully
*/
- include('ldap-auth.php');
+ include('./ldap-auth/ldap-auth.php');
error_reporting(E_ERROR);
session_start();
=====================================
ldap-auth
=====================================
@@ -0,0 +1 @@
+Subproject commit 9c8e7ad06d05ad49f592ae52219d7b46cc8f31bf
=====================================
ldap-auth.php deleted
=====================================
@@ -1,104 +0,0 @@
-<?php
-
-/*
-Written by Imran Hussain ~imranh
-
-Used to auth people, will check SUCS then the uni ldap, will only check
-students on the uni ldap.
-
-will return "sucs" if the username/password passed is a sucs member
-will return "uni" if the user/pass passed has a student swan uni account
-will return "nope" if the user/pass passed is inavlid
-
-Example usage:
-
-include_once("ldap-auth.php");
-
-isAuthd = ldapAuth("usaername", "password");
-
-if (isAuthd == "sucs"){
- //do stuff for sucs auth
-}elseif (isAuthd == "uni"){
- //do stuff for uni auth
-}else{
- //do stuff for not authd peeps
-}
-
-*/
-
-// we don't care about warnings, we write our own
-error_reporting(E_ERROR | E_PARSE);
-
-function ldapAuth($username, $password) {
-
- if ($username != "" && $password != ""){
-
- // people like to use emails to login so lets detect and strip
- if(filter_var($username, FILTER_VALIDATE_EMAIL)){
- //valid email, lets strip
- // split the email into a string array "@" as a delim
- $s = explode("@",$username);
- // remove the last element (domain)
- array_pop($s);
- // put the array back togther using "@" as a seperator
- $username = implode("@",$s);
- }
-
- // ldap servers
- $sucsLDAPServer = 'silver.sucs.swan.ac.uk';
- $lisLDAPServer = 'ccs-suld1.swan.ac.uk';
-
- // lis auth stuffs
- $lisUsernameOu = substr($username, -1);
- $lisOtherOu = "Moved";
-
- // how to bind
- $sucsBindDn = "uid=$username,ou=People,dc=sucs,dc=org";
- $lisBindDn1 = "cn=$username,ou=$lisUsernameOu,ou=Students,ou=SWANSEA,o=SWANUNI";
- $lisBindDn2 = "cn=$username,ou=$lisOtherOu,ou=Students,ou=SWANSEA,o=SWANUNI";
-
- // Main auth
-
- // Try and connect to silver
- $ldapconnSUCS = ldap_connect($sucsLDAPServer) or die("Could not connect to SUCS LDAP server.");
-
- if ($ldapconnSUCS) {
-
- //echo "Connected to $sucsLDAPServer <br>";
-
- // try and bind to sucs ldap
- $ldapbindSUCS = ldap_bind($ldapconnSUCS, $sucsBindDn, $password);
-
- if ($ldapbindSUCS) {
- //echo "Auth'd as $username using SUCS LDAP<br>";
- return "sucs";
- // turns out they didn't give us valid sucs creds, lets try lis now
- } else {
-
- // try and connect to the lis ldap server
- $ldapconnLIS = ldap_connect($lisLDAPServer) or die("Could not connect to uni LDAP server.");
- //echo "Connected to $lisLDAPServer <br>";
-
- // lets try and bind to the uni ldap
- $ldapbindLIS1 = ldap_bind($ldapconnLIS, $lisBindDn1, $password);
- if ($ldapbindLIS1) {
- //echo "Auth'd as $username using uni LDAP using ou=$lisUsernameOu<br>";
- return "uni";
- } else {
- $ldapbindLIS2 = ldap_bind($ldapconnLIS, $lisBindDn2, $password);
- if ($ldapbindLIS2) {
- //echo "Auth'd as $username using uni LDAP using ou=moved<br>";
- return "uni";
- // shit, couldn't bind to anything
- } else {
- //exit("Invalid Username or Password");
- return "nope";
- }
- }
- }
- }
- }else {
- return "nope";
- }
-}
-?>
\ No newline at end of file
View it on GitLab: https://projects.sucs.org/sucssite/gameauth/commit/d9019ebfe2f17d26e568a04ade06ca45d5a10f50
--
View it on GitLab: https://projects.sucs.org/sucssite/gameauth/commit/d9019ebfe2f17d26e568a04ade06ca45d5a10f50
You're receiving this email because of your account on projects.sucs.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sucs.org/pipermail/devel/attachments/20191027/c08b200b/attachment-0001.html>
More information about the Devel
mailing list