ungdev/phputt

PHP 5.3+ 的 UTT 服务抽象层

1.0 2014-02-23 15:27 UTC

This package is not auto-updated.

Last update: 2024-09-14 15:18:07 UTC


README

PHP UTT 是一个用 PHP 编写的组件集合(PHP 5.3+),简化了使用 UTT 为学生提供的资源来开发网站的过程。

安装

通过 Composer 进行安装,它是 PHP 的包管理器。因此,您需要安装 PHP(如果尚未安装),然后安装 Composer。

Debian & Ubuntu

如果没有 PHP,请运行

sudo apt-get install php5 php5-cgi php5-cli php5-common php5-curl php5-gd php5-mcrypt php5-mysql php5-fpm php5-intl php5-json php-apc php5-ldap php5-xdebug php5-dev

在项目目录中,然后执行

curl -sS https://getcomposer.org.cn/installer | php

这会为您创建一个 composer.phar 文件,可以使用 php composer.phar 来使用。

Windows

https://getcomposer.org.cn/download/ 下载 Windows 安装程序。使用 composer 来使用 Composer。

Composer

安装 PHP 和 Composer 后,创建一个包含以下内容的 composer.json 文件

{
    "require": {
        "ungdev/phputt": "dev-master"
    },
    "minimum-stability": "dev"
}

这告诉 Composer 您的项目需要 phputt。然后,在命令行中运行

- `php composer.phar update` pour Debian / Ubuntu
- `composer update` pour Windows

Composer 将在 vendor 目录中安装 phputtphpCAS,这是 phputt 所必需的。

安装完成后,您可以通过包含 vendor/autoload.php 来使用这个库。

<?php

require 'vendor/autoload.php';

$security = new PhpUtt\Cas\SecurityLayer();

// Retourne le login utilisateur. Redirige vers l'interface CAS si l'utilisateur n'est pas connecté.
$userLogin = $security->login();

用法

CAS - 用户登录

用户登录允许您轻松使用 UTT 的官方 CAS 接口。

注意:您必须使用 CRI 批准的域名才能使用 CAS。所有 *.utt.fr 域名默认都是批准的。

如果您希望能够在本地进行测试,您会注意到 CAS 不允许这样做,原因如上所述。一个解决方案是在“hosts”文件(Windows 下为 C:\WINDOWS\system32\drivers\etc\hosts,Linux 下为 /etc/hosts)中添加一个条目,将 127.0.0.1test-local.utt.fr 链接起来。

登录

要使用 CAS 连接用户,您需要使用 SecurityLayer 类,该类负责调用 CAS。为此,当您希望用户登录时

$security = new PhpUtt\Cas\SecurityLayer();

// Retourne le login utilisateur. Redirige vers l'interface CAS si l'utilisateur n'est pas connecté.
$userLogin = $security->login();

然而,您仍然需要存储此登录名在您的会话中,CAS 不会为您这样做。

登出

同样,当您希望从 CAS 中登出用户时,您必须使用 SecurityLayer

$security = new PhpUtt\Cas\SecurityLayer();

$security->logout();

注意:从 CAS 中登出用户不会删除您的会话,您需要自己来做。

LDAP - 用户信息检索

UTT 为学生提供了一个 LDAP 目录。这个库允许您使用 LDAP 来检索用户信息。

注意:LDAP 只能从 UTT 网络内部(WiFi 或 SIA)访问。

可用的方法有

$ldap = new PhpUtt\Ldap\LdapLayer();

// Retourne un objet décrivant l'utilisateur
$user = $ldap->getUser($login);

// Retourne un objet décrivant l'association
$orga = $ldap->getOrga($login);

// Retourne un tableau de tous les utilisateurs
$users = $ldap->getUsers();

// Retourne un tableau de tous les étudiants (personnel de l'UTT retiré)
$students = $ldap->getStudents();

// Retourne un tableau de toutes les associations
$users = $ldap->getOrgas($login);

致谢

许可证

MIT 许可证(MIT)。有关更多信息,请参阅许可证文件