Maison  >  Questions et réponses  >  le corps du texte

spring - JAVA WEB 授权问题请教。

编写好了JAVA WEB,想像桌面软件那样,第一次使用的时候需要输入一个key,验证通过则能使用整个系统,否则就无法访问任何页面。

请问这该怎么实现?

PHP中文网PHP中文网2765 Il y a quelques jours486

répondre à tous(6)je répondrai

  • 阿神

    阿神2017-04-18 09:58:35

    Pour faire simple, il en existe deux types

    1. Générez une clé basée sur la machine de l'autre partie.

      Implémentez simplement vous-même une méthode de cryptage. (Des algorithmes tels que des algorithmes récapitulatifs qui ne nécessitent pas de solutions inverses sont suffisants)
      Obtenez ensuite le matériel principal de l'ordinateur sur lequel le projet est déployé mac地址, comme la carte mère, la carte réseau, le disque dur, etc., et utilisez ces données pour calculer une valeur dans le projet, si elle est la même que la clé renseignée par l'utilisateur, le projet formel sera démarré. Si elle est différente, il vous demandera de remplir la clé.
      Quant à savoir comment obtenir les informations matérielles de l'autre partie, c'est à vous de décider. Par exemple, demandez simplement au camarade qui a déployé le projet de vous le renvoyer, et vous pourrez ensuite utiliser ce calcul pour calculer une clé et l'envoyer. il revient.

    2. Vous générez vous-même une clé et la distribuez partout.

      Par exemple, créez un autre service Web, utilisez cette machine pour générer un lot de UUID et distribuez-le. Ensuite, une fois le projet démarré, demandez d'abord à ce serveur d'effectuer la vérification. Le serveur vérifiera si la clé existe. et si elle a été utilisée. Envoyer La machine sur laquelle la clé a été utilisée est-elle la même que celle de la première activation ? (Utilisez simplement le même algorithme irréversible)
      Ou encore plus simple, utilisez un algorithme pseudo-aléatoire (algorithme réversible). Un lot de clés peut être calculé en fonction de la graine, et la graine peut être décodée pour chaque clé.
      Décryptez la clé d'entrée au démarrage du projet et déterminez s'il s'agit de la graine.

    répondre
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:58:35

    • À condition que vous ayez remis cela key au client par d'autres moyens

    • .
    • Vérifiez si l'accès est illégal. Utilisez cookie pour déterminer si vous êtes connecté. Si la vérification est plus stricte, vous pouvez également ajouter des adresses ip, des adresses mac et d'autres vérifications solides. si vous venez sur autorisation. Après tout, votre clientèle n'est probablement pas le grand public.

    • La durée d'utilisation autorisée, vous avez dit qu'elle est calculée sur une base mensuelle, et il peut y avoir des clients plus avancés calculés sur une base semestrielle, donc cela se décide lors de la génération
      Vous pouvez utiliser <. 🎜> pour stocker votre Pour cela redis, vous pouvez définir l'heure d'expiration à chaque visite, vous pouvez obtenir key de cookie (la plupart d'entre eux doivent être cryptés selon key vous). Vous pouvez vous rendre sur key pour obtenir le temps d'autorisation restant redis

      .
    • Si vous ne parvenez pas à vérifier la clé et à accéder à une page, vous devez revenir à la page où vous avez entré la clé. La question a une balise

      , vous devez donc savoir que la demande est interceptée et. traité avant de sauter. Vous Il devrait y avoir quelques idées.springmvc

    • répondre
      0
  • 高洛峰

    高洛峰2017-04-18 09:58:35

    Je ne sais pas comment votre clé est liée à l'utilisateur. Il doit s'agir de l'identifiant unique de l'utilisateur. L'identifiant unique et la clé de l'utilisateur correspondant peuvent être stockés dans la base de données ou dans le cache pour déterminer si l'utilisateur dispose de l'autorisation. Quant aux sauts de page, un filtre suffit.

    répondre
    0
  • 阿神

    阿神2017-04-18 09:58:35

    Vous pouvez générer une clé secrète après vous être connecté avec succès, la stocker dans un cookie et définir la date d'expiration du cookie. Vérifiez-la chaque fois que vous actualisez la page Web

    .

    répondre
    0
  • 怪我咯

    怪我咯2017-04-18 09:58:35

    En l'absence d'autres certificats externes, quelle est la différence entre l'exigence du sujet et « enregistrer l'état de connexion pendant un certain temps après la connexion à l'aide du nom d'utilisateur et du mot de passe » ?

    répondre
    0
  • 阿神

    阿神2017-04-18 09:58:35

    Merci pour vos réponses, mais je suis désolé de ne pouvoir accepter qu'une seule réponse.

    répondre
    0
  • Annulerrépondre