generic_login.anubis
2.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
Rationalisation de la gestion des logins et des mots de passe
read common.anubis
read making_a_web_site.anubis
read generic_form.anubis
*** (1) Connection sur site sécurisée
ou formulaire de saisie du login et du mot de passe
Le formulaire de saisie du login et du mot de passe pour se connecter à un site https
se compose :
.1. d'un éventuel message pour signaler que la paire (login,passwd) est erronée,
.2. du formulaire proprement dit pour lequel il faut donner :
- le titre du formulaire
- les textes figurant devant les 2 texts input
- le text du bouton submit
- le nom de l'action,
- la couleur de fond
public define HTML_Off_Form
login_form
(
String wrong_message,
RGB background_color,
String title_text,
String pseudo_text,
String passwd_text,
String submit_text,
String login_action
).
*** (2) Vérification de la saisie
public define Maybe($User)
check_login_passwd
(
String -> Maybe($User) check_pseudo,
$User -> ByteArray get_passwd,
List(Web_arg) lwa
).
--- That's all for the public part ! --------------------------------------------------
*** [1] Connection sur site sécurisée
public define HTML_Off_Form
login_form
(
String wrong_message,
RGB background_color,
String title_text,
String pseudo_text,
String passwd_text,
String submit_text,
String login_action
) =
generic_form
("login_form",background_color,700,
[
title (title_text),
explain (wrong_message),
input ("pseudo",pseudo_text,narrow,"",mandatory),
password_input ("passwd",passwd_text,mandatory),
submit (login_action,failure,submit_text,[])
]).
*** [2] Vérification de la saisie
public define Maybe($User)
check_login_passwd
(
String -> Maybe($User) check_pseudo,
$User -> ByteArray get_passwd,
List(Web_arg) lwa
) =
if web_arg_value(lwa,"pseudo") is
{
not_found then failure,
found(ps) then
if web_arg_value(lwa,"passwd") is
{
not_found then failure,
found(pwd) then
if check_pseudo(ps) is
{
failure then failure,
success(user) then
if sha1(pwd)=get_passwd(user)
then success(user)
else failure
}
}}.