0
votes

Comment coder Manager pour enregistrer le caissier avec nom d'utilisateur et mot de passe dans Java Netbeans (GUI) avec validation de connexion pour caissier

Ceci est un système bancaire et je dois créer deux niveaux d'utilisateur, gestionnaire et caissier. Je dois fournir le nom d'utilisateur et le mot de passe du gestionnaire et du gestionnaire doivent fournir un nom d'utilisateur et un mot de passe pour un caissier. Je ne sais pas vraiment comment coder la validation pour Cahsier Login. Cela doit être codé dans Java dans NetBeans IDE (GUI)


3 commentaires

Pourquoi ne pouvez-vous pas utiliser la validation normale ici si je reçois la question de savoir que vous demandez une validation sur le terrain pour la connexion utilisateur que je suis correct


Vous voulez dire une fois que les données sont entrées, comment vérifiez-vous que le nom d'utilisateur et le mot de passe sont valides (c'est-à-dire que l'utilisateur existe et est entré le mot de passe correct) ??? Vous devez fournir un peu plus de détails ....


Oui correct GMC. J'ai donc créé un formulaire pour la connexion du gestionnaire. Et j'ai donné un mot de passe et un nom d'utilisateur pour vous connecter. J'ai donc utilisé une instruction IF pour valider le login Manager. C'était bien. Après que le Manager se connecte au système, il a des options à faire comme Afficher le client, ajouter le client et l'un d'entre eux est d'ajouter de nouveaux caissiers. Lors de l'ajout d'un nouveau gestionnaire de caissier doit fournir des détails de caissier tels que le nom, la date de naissance, etc. et le nom d'utilisateur et le mot de passe. Ces données doivent être entrées dans JTextfield. Une fois que Manager se déconnecte comment Cashier peut-il vous connecter (comment valider le mot de passe et le nom d'utilisateur à partir de données saisies?


3 Réponses :


0
votes

Ma réponse est plus une série de questions et suggestions pour vous permettre de penser à la façon de le faire. De plus, je ne peux pas être très spécifique car vous avez fourni très peu de détails dans votre question.

Question 1, après que votre responsable entre dans les détails du caissier, où les stockez-vous? En mémoire? Dans un fichier? Dans une base de données? Quelque chose d'autre?

Question 2, lors de la validation de la connexion au caissier, pourquoi allez-vous pas valider les détails du caissier contre ce magasin de base de données / fichier / mémoire? La réponse est que vous devriez valider vos connexions de caissier contre le lieu où elles sont stockées.

aussi pour tout ce qu'il vaut, vous devriez jamais HARDCODE A LOGON (par exemple, le gestionnaire) dans une application (pas même pour les tests). Pourquoi?

  1. Il n'y a aucun moyen de s'en débarrasser sans libérer une nouvelle version du logiciel.
  2. C'est un risque de sécurité (en raison de la raison 1).
  3. Si vous le faites dans les tests, il est tout à fait possible que vous oubliez de le supprimer avant la publication du code. Alors la raison 2 s'applique.
  4. Il n'y a pas besoin pour cela - vous pouvez simplement "semer" votre utilisateur avec un seul enregistrement représentant le mot de passe et le mot de passe par défaut du gestionnaire (idéalement avec un "mot de passe a expiré" indication) dans votre distribution ou Si vous avez un installateur, invitez la personne qui effectue la configuration pour créer le login du gestionnaire pendant le processus d'installation.

    Par conséquent, la façon dont vous validez les informations d'identification du gestionnaire sera exactement la même que tout le monde.

    Ceci sera (devrait) avoir l'avantage d'un programme plus simple qui sera plus facile à maintenir .

    Et juste au cas où vous indiquez la différence entre le gestionnaire, le caissier, un superviseur ou tout autre type d'utilisateur que vous pourriez avoir (ou besoin à l'avenir) via un rôle. Dans votre magasin d'utilisateurs, vous avez un champ qui définit quel rôle l'utilisateur est dans (E.G. Manager, Caissier, etc.). Un autre modèle est "MuliPle champs" où vous indiquez qu'un utilisateur a ce rôle (et donc l'accès à la fonction associée ou non). Par exemple, vous pourriez avoir un responsable, un superviseur, un caissier, une backoffice, etc. rôles. Ensuite, il suffit de mettre un vrai / faux dans votre dossier d'utilisateur indiquant si cet utilisateur peut accéder aux fonctions associées à un rôle particulier.

    Enfin, votre programme devient plus simple car votre logique est maintenant simplement < Pré> xxx

    Notez qu'il n'y a pas de sinon dans le code PSEDEDO ci-dessus.


5 commentaires

Merci beaucoup GMC. J'ai utilisé la base de données SQL pour stocker les informations de connexion sous une table contenant le type d'utilisateur et le mot de passe. Je l'ai compris comment valider la connexion entre deux utilisateurs. Merci beaucoup pour toutes ces informations. :)


Je vous en prie. Pouvez-vous accepter l'une des réponses qui vous a aidé et / ou uez à voter des autres qui vous ont également aidé?


Oui bien sûr. Tous ces précieux commentaires m'ont beaucoup aidé.


Et j'ai aussi une autre question. Ceci est en cours de retir. Je dois donc entrer le numéro de compte des utilisateurs et cliquer sur la recherche de bouton. Ensuite, il doit afficher le nom du client et le solde disponible. associé sous ce numéro de compte. Je dois taper le montant à retirer. Je veux savoir comment afficher un message d'erreur si le retrait de la zone de texte est plus élevé que le solde disponible. Ce qui signifie que je souhaite afficher un message d'erreur si le montant de retirer est de 500 mais la balance disponible n'est que 100. (Ceci est codé en Java à l'aide de NetBeans) (question est sur les champs de texte)


Vous devriez probablement demander cela comme une nouvelle question, mais en supposant que vous construisez une application Swing (c'est-à-dire une application d'interface graphique), vous pouvez regarder joptionpane.showmessagedialog Il existe un certain nombre de méthodes de subsistance qui vous permettent de contrôler diverses parties de la boîte de dialogue.



0
votes

Mon point n'est qu'une préoccupation que votre question a besoin de vous avoir une compréhension de base de Java. Je ne sais pas si vous stockiez vos informations de connexion dans une base de données ou dans un fichier texte. Si vous stockez les données dans une base de données, vous pouvez simplement utiliser les techniques de validation Java normales décrites ci-dessous:

  1. Obtenez un nom d'utilisateur et un mot de passe du caissier.
  2. Sélectionnez les enregistrements correspondant au nom d'utilisateur et au mot de passe que vous avez entré ci-dessus dans la base de données.
  3. Imprimez un message si le nombre d'enregistrements que vous correspondez est zéro.
  4. Connectez-vous au caissier si les enregistrements entrés correspondent à ceux stockés dans la base de données. Veuillez vous reporter à ici pour plus d'informations sur la connexion à la base de données et stocker / récupérer / récupérer les données utilisateur à l'aide de Java.

    En outre, notez que les applications bancaires devraient être plus sécurisées et donc la meilleure pratique consiste à stocker des hachages semées des mots de passe et à utiliser une fonction de hachage cryptographiquement forte.

    Si vous enregistrez vos données dans un fichier texte, vous pouvez vous reporter à ce exemple de code < / a>. Vous pouvez en savoir plus sur la classe de scanner Java ici . Vous pouvez également décider d'utiliser une carte pour mapper tous les utilisateurs de l'enregistrement, puis vérifiez simplement la carte pour confirmer les détails de connexion.

    N / B: Dans tous ces cas, vérifiez si les champs Nom d'utilisateur et mot de passe sont vides avant de soumettre les détails.


0 commentaires