ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
UserPass.php
Go to the documentation of this file.
1<?php
2
13
14
19 private $users;
20
21
28 public function __construct($info, $config) {
29 assert('is_array($info)');
30 assert('is_array($config)');
31
32 // Call the parent constructor first, as required by the interface
33 parent::__construct($info, $config);
34
35 $this->users = array();
36
37 // Validate and parse our configuration
38 foreach ($config as $userpass => $attributes) {
39 if (!is_string($userpass)) {
40 throw new Exception('Invalid <username>:<password> for authentication source ' .
41 $this->authId . ': ' . $userpass);
42 }
43
44 $userpass = explode(':', $userpass, 2);
45 if (count($userpass) !== 2) {
46 throw new Exception('Invalid <username>:<password> for authentication source ' .
47 $this->authId . ': ' . $userpass[0]);
48 }
49 $username = $userpass[0];
50 $password = $userpass[1];
51
52 try {
54 } catch(Exception $e) {
55 throw new Exception('Invalid attributes for user ' . $username .
56 ' in authentication source ' . $this->authId . ': ' .
57 $e->getMessage());
58 }
59
60 $this->users[$username . ':' . $password] = $attributes;
61 }
62 }
63
64
78 protected function login($username, $password) {
79 assert('is_string($username)');
80 assert('is_string($password)');
81
82 $userpass = $username . ':' . $password;
83 if (!array_key_exists($userpass, $this->users)) {
84 throw new SimpleSAML_Error_Error('WRONGUSERPASS');
85 }
86
87 return $this->users[$userpass];
88 }
89
90}
An exception for terminatinating execution or to throw for unit testing.
static normalizeAttributesArray($attributes)
Validate and normalize an array with attributes.
Definition: Attributes.php:80
__construct($info, $config)
Constructor for this authentication source.
Definition: UserPass.php:28
login($username, $password)
Attempt to log in using the given username and password.
Definition: UserPass.php:78
$users
Our users, stored in an associative array.
Definition: UserPass.php:19
$info
Definition: index.php:5
$password
Definition: pwgen.php:17
$attributes