]>
git.wh0rd.org - tt-rss.git/blob - classes/auth/remote.php
2 class Auth_Remote
extends Auth_Base
{
3 function get_login_by_ssl_certificate() {
4 $cert_serial = db_escape_string(get_ssl_certificate_id());
7 $result = db_query($this->link
, "SELECT login FROM ttrss_user_prefs, ttrss_users
8 WHERE pref_name = 'SSL_CERT_SERIAL' AND value = '$cert_serial' AND
9 owner_uid = ttrss_users.id");
11 if (db_num_rows($result) != 0) {
12 return db_escape_string(db_fetch_result($result, 0, "login"));
20 function authenticate($login, $password) {
21 $try_login = db_escape_string($_SERVER["REMOTE_USER"]);
23 if (!$try_login) $try_login = $this->get_login_by_ssl_certificate();
24 # if (!$try_login) $try_login = "test_qqq";
27 $user_id = $this->auto_create_user($try_login);
30 $_SESSION["fake_login"] = $try_login;
31 $_SESSION["fake_password"] = "******";
32 $_SESSION["hide_hello"] = true;
33 $_SESSION["hide_logout"] = true;
35 // LemonLDAP can send user informations via HTTP HEADER
36 if (defined('AUTH_AUTO_CREATE') && AUTH_AUTO_CREATE
){
38 $fullname = $_SERVER['HTTP_USER_NAME'] ?
$_SERVER['HTTP_USER_NAME'] : $_SERVER['AUTHENTICATE_CN'];
40 $fullname = db_escape_string($fullname);
41 db_query($this->link
, "UPDATE ttrss_users SET full_name = '$fullname' WHERE id = " .
45 $email = $_SERVER['HTTP_USER_MAIL'] ?
$_SERVER['HTTP_USER_MAIL'] : $_SERVER['AUTHENTICATE_MAIL'];
47 $email = db_escape_string($email);
48 db_query($this->link
, "UPDATE ttrss_users SET email = '$email' WHERE id = " .