2010-02-08 15 views
2

J'utilise actuellement interprolog - qui est essentiellement java avec un backend prolog, autorisant à la fois les appels java et prolog les uns des autres. Maintenant, si je devais dire une interface graphique codée en java swing, disons une boîte de dialogue de connexion, qui demandait un nom d'utilisateur et un mot de passe, plutôt que d'utiliser le code java pour authentifier et stocker les mots de passe. ? J'ai cherché le terme "prolog de contrôle d'accès" et n'a trouvé rien.Prolog - Contrôle d'accès?

Désolé, je comprends cette question est un grand vague et brumeux mais toute aide serait appréciée.

Répondre

1

Vous devez obtenir une instance d'un moteur Prolog et exécuter une commande prolog. Je suppose que la base de données prolog sera configurée à l'avance et que vous pourrez créer la commande prolog qui sera vraie si une paire nom d'utilisateur/mot de passe s'authentifie.

L'appel de Java est alors facile. Vous obtenez une implémentation de Prolog Engine, par exemple SWISubprocessEngine, et exécutez votre commande prolog avec la méthode command().

Cet article How can I make a Java program that calls Prolog ? sera très utile.

+0

Je vois, Merci pour la base de données reply..In pensez-je une paire, comme hasaccess (tom, 123) // où Tom est l'utilisateur et le mot de passe est 123 ? – KP65

+0

@keval C'est un début oui. Avec un ensemble de clauses comme cela, vous pouvez tout simplement demander un nom d'utilisateur et un mot de passe. –

+0

Merci beaucoup. J'utilise XSBSubprocessEngine, dire si ma base de données: access.pl avait: hasAccess (tom, 123) comment je passerais des informations de deux variables de chaîne dans java à pl pour vérifier la DB? Je suis assez nouveau pour prolog, donc j'essaie mon plus dur. merci – KP65

0

Oui vous pouvez utiliser cette