java - Was ist der beste Weg, um eine Berechtigungsüberprüfung in einem verteilten System durchzuführen?
typecho
typecho 2017-06-30 09:55:01
0
3
1199

Wie bereits erwähnt, gibt es im Projekt ein separates System als Berechtigungssystem. Der aktuelle Ansatz besteht darin, dass jede Anfrage an das Geschäftssystem vom Geschäftssystem abgefangen und die angeforderte URL weitergeleitet wird das Berechtigungssystem für die Verifizierung und Verifizierungsinitiierung. Ob der anfragende Benutzer über diese Berechtigung verfügt.

Oder Sie können auch alle Berechtigungen des Benutzers aus dem Berechtigungssystem abrufen und diese im Geschäftssystem überprüfen

Egal welche Methode verwendet wird, es fühlt sich so an, als ob sie in der Mitte manipuliert werden kann, sodass es sich nicht sehr unsicher anfühlt

Ich würde gerne fragen, ob es besser ist, die Berechtigungsüberprüfung in einem verteilten System durchzuführen. Vielen Dank, Senior

typecho
typecho

Following the voice in heart.

Antworte allen(3)
仅有的幸福

楼主的问题与权限无关,纯粹是接口调用的安全性。一般做法有:

  1. 内容明文传输,但加上校验码,校验码由双方约定的一个密钥生成,篡改者无法生成正确的校验码。

  2. 使用约定密钥加密解密整个传输内容。

習慣沉默

登录后请求权限系统,将返回的权限菜单等信息放入缓存(自己用Map实现或Nosql,建议Nosql集群。要注意菜单有更新,则先清空用户的redis数据,再将最新的信息同步到redis,redis没信息就从数据库中取),再返回Java Web Token(包括时间戳、标识等)。

项目安全点就用Https,Spring-Security(访问接口权限、防CSRF),每个接口都要验签,token加时间戳等。

ringa_lee

你这个有点像OAuth2.0解决的问题

Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!