CXM_generic_login.anubis
2.75 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 CXM_common.anubis
read CXM_making_a_web_site.anubis
read CXM_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 alerter 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
}
}}.