Login via Client-Zertifikat...
bernd authored 16 years ago
|
1) <?php
2) require_once('session/start.php');
3) require_once('x509.php');
4)
|
Ermögliche Client-Cert-Logi...
bernd authored 13 years ago
|
5) require_role(array(ROLE_SYSTEMUSER, ROLE_SUBUSER, ROLE_VMAIL_ACCOUNT));
|
Login via Client-Zertifikat...
bernd authored 16 years ago
|
6)
7)
8) if ($_GET['action'] == 'new')
9) {
10) check_form_token('clientcert_add');
11) if (! isset($_SESSION['clientcert_cert']))
12) system_failure('Kein Zertifikat');
13)
14) add_clientcert($_SESSION['clientcert_cert'], $_SESSION['clientcert_dn'], $_SESSION['clientcert_issuer']);
15)
16) // Räume session auf
17) unset($_SESSION['clientcert_cert']);
18) unset($_SESSION['clientcert_dn']);
19) unset($_SESSION['clientcert_issuer']);
20) header('Location: cert');
21) }
22) elseif ($_GET['action'] == 'delete')
23) {
24) $cert = get_cert_by_id($_GET['id']);
25) if (! $cert)
26) system_failure('no ID');
|
Ermögliche Client-Cert-Logi...
bernd authored 13 years ago
|
27) $username = NULL;
28) if ($_SESSION['role'] == ROLE_SYSTEMUSER) {
29) $username = $_SESSION['userinfo']['username'];
30) if (isset($_SESSION['subuser']))
31) $username = $_SESSION['subuser'];
32) } elseif ($_SESSION['role'] == ROLE_VMAIL_ACCOUNT) {
33) $username = $_SESSION['mailaccount'];
34) }
35) if (! ($cert['username'] == $username))
|
Login via Client-Zertifikat...
bernd authored 16 years ago
|
36) system_failure('Das Zertifikat ist nicht für Ihren Zugang eingerichtet');
37) $sure = user_is_sure();
38) if ($sure === NULL)
39) {
|
* alle internen Links sinnv...
bernd authored 16 years ago
|
40) are_you_sure("action=delete&id={$cert['id']}", "Möchten Sie das Zertifikat »{$cert['dn']}« wirklich löschen?");
|