|
Stud.IP
jlu_3.3 Revision
|


Public Member Functions | |
| __construct () | |
| authenticateUser ($username, $password) | |
| getStudipUser ($username) | |
| doNewUserInit ($user) | |
| setUserDomains ($user) | |
| getUserDomains () | |
| doDataMapping ($user) | |
| isMappedField ($name) | |
| verifyUsername ($username) | |
| isUsedUsername ($username) | |
| isAuthenticated ($username, $password) | |
Static Public Member Functions | |
| static | getInstance ($plugin_name=false) |
| static | CheckAuthentication ($username, $password) |
| static | CheckUsername ($username) |
| static | CheckField ($field_name, $plugin_name) |
Data Fields | |
| $error_msg | |
| $is_new_user = false | |
| $user_domains | |
| $user_data_mapping = null | |
| $plugin_name | |
| $error_head | |
| __construct | ( | ) |
Constructor
the constructor is private, you should use StudipAuthAbstract::GetInstance($plugin_name) to get a reference to a plugin object. Make sure the constructor in the base class is called when deriving your own plugin class, it assigns the settings from local.inc as members of the plugin each key of the $STUDIP_AUTH_CONFIG_<plugin name> array will become a member of the object
@access private
Reimplemented in StudipAuthLdap, StudipAuthLdapReadAndBind, and StudipAuthStandard.
| authenticateUser | ( | $username, | |
| $password | |||
| ) |
authentication method
this method authenticates the passed username, it is used by StudipAuthAbstract::CheckAuthentication() if authentication succeeds it calls StudipAuthAbstract::doDataMapping() to map data fields if the authenticated user logs in for the first time it calls StudipAuthAbstract::doNewUserInit() to initialize the new user @access private
| string | the username to check |
| string | the password to check |

|
static |
static method to check authentication in all plugins
if authentication fails in one plugin, the error message is stored and the next plugin is used if authentication succeeds, the uid element in the returned array will contain the Stud.IP user id
@access public
| string | the username to check |
| string | the password to check |


|
static |
static method to check for a mapped field
this method checks in the plugin with the passed name, if the passed Stud.IP DB field is mapped to an external data source
@access public
| string | the name of the db field must be in form ' |
| string | the name of the plugin to check |

|
static |
static method to check if passed username is used in external data sources
all plugins are checked, the error messages are stored and returned
@access public
| string | the username |

| doDataMapping | ( | $user | ) |
this method handles the data mapping
for each entry in $this->user_data_mapping the according callback will be invoked the return value of the callback method is then written to the db field, which is specified in the key of the array
@access private
| User | the user object |

| doNewUserInit | ( | $user | ) |
initialize a new user
this method is invoked for one time, if a new user logs in ($this->is_new_user is true) place special treatment of new users here
@access private
| User | the user object |


|
static |
static method to instantiate and retrieve a reference to an object (singleton)
use always this method to instantiate a plugin object, it will ensure that only one object of each plugin will exist @access public
| string | name of plugin, if omitted an array with all plugin objects will be returned |
| getStudipUser | ( | $username | ) |
| getUserDomains | ( | ) |
Get the user domains to assign to the current user.
Reimplemented in StudipAuthShib.

| isAuthenticated | ( | $username, | |
| $password | |||
| ) |
method to check the authentication of a given username and a given password
abstract, MUST be realized
@access private
| string | the username |
| string | the password |
Reimplemented in StudipAuthIP, StudipAuthLdap, StudipAuthSSO, and StudipAuthStandard.

| isMappedField | ( | $name | ) |
method to check, if a given db field is mapped by the plugin
@access private
| string | the name of the db field (<table_name>.<field_name>) |
| isUsedUsername | ( | $username | ) |
method to check, if username is used
abstract MUST be realized
@access private
| string | the username |
Reimplemented in StudipAuthLdap, StudipAuthLdapReadAndBind, StudipAuthSSO, and StudipAuthStandard.
| setUserDomains | ( | $user | ) |
This method sets the user domains for the current user.
@access private
| User | the user object |


| verifyUsername | ( | $username | ) |
method to eliminate bad characters in the given username
@access private
| string | the username |
Reimplemented in StudipAuthCAS, and StudipAuthShib.

| $error_head |
| $error_msg |
| $is_new_user = false |
| $plugin_name |
| array $user_data_mapping = null |
associative array with mapping for database fields
associative array with mapping for database fields, should be set in local.inc structure : array("<table name>.<field name>" => array( "callback" => "<name of callback method used for data retrieval>", "map_args" => "<arguments passed to callback method>")) @access public
| array $user_domains |
array of user domains to assign to each user, can be set in local.inc
@access public