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 } }}.