spring - JAVA WEB 授权问题请教。
PHP中文网
PHP中文网 2017-04-18 09:56:35
0
6
444

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

  • key可以包含授权使用时长,比如1个月。

  • 没有输入正确的key,则无论访问什么url路径,都会跳转到输入key的页面(和用户的登录页面一样)

请问这该怎么实现?

PHP中文网
PHP中文网

认证0级讲师

répondre à tous(6)
阿神

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.

伊谢尔伦
  • À 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

小葫芦

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.

阿神

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

.
刘奇

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 » ?

阿神

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

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!