javascript - 帮忙解决个设计逻辑的问题
我有一个多个服务器
其中有一个负责业务逻辑,保存所有业务数据,对外只提供私有的api接口。暂命名为API服务器;
第二台服务器,提供给微信公众号或网页端的页面,主要保存静态的html和js以及部分对接API服务器接口的php文件。暂命名为WECHAT服务器。
用户使用时,只能访问WECHAT服务器,发送给WECHAT服务器的请求,经由服务器私有的强加密api接口请求API服务器,这样外部访问权限可以靠微信的openid做判断。
但是现在有个新需求,API服务器上提供了一个新功能,其资源是针对有属性A的用户开放的,属性A与openid的关联信息保存在API服务器上的(mysql和redis都有存),但我需要在WECHAT服务器上就要向用户给出其是否有权限访问这个资源。
目前的几个方法是这样的,求大家帮忙裁断一下哪个好,或者是否有更好的方法。
1、WECHAT服务器直接去访问API服务器上的数据表。这个物理上可以实现,但是感觉不同服务跨服务器访问数据太不合逻辑。
2、在API服务器上新做一个接口API:ifOpenidHasA。这个感觉有点浪费资源,减慢系统速度。
3、在资源A的接口上做校验,请求资源A的时候判断WECHAT服务器的请求是否带参数A。这个目前貌似还好,但是以后万一有个参数ABCD对应不同资源的时候怎么搞?以及如果有超管用户拥有所有权限的话参数又怎么搞就不知道了。
补充:可能有些地方没说太清楚,补充一下:
API接口是走的加密的,目前只有WECHAT服务器发过去的加密流量能访问,是在这做的认证。现在API服务器只能对接WECHAT服务器,外部是看不到的。以后也不打算做开放的API,都是由WECHAT服务器或者以后自己的APP用,都是加密的。现在可以认为WECHAT服务器其实也是个客户端(云客户端或WEB客户端之类的)。
不过这么考虑的话以后真要做APP的话,可能方法1就不能用了。
回复内容:
我有一个多个服务器
其中有一个负责业务逻辑,保存所有业务数据,对外只提供私有的api接口。暂命名为API服务器;
第二台服务器,提供给微信公众号或网页端的页面,主要保存静态的html和js以及部分对接API服务器接口的php文件。暂命名为WECHAT服务器。
用户使用时,只能访问WECHAT服务器,发送给WECHAT服务器的请求,经由服务器私有的强加密api接口请求API服务器,这样外部访问权限可以靠微信的openid做判断。
但是现在有个新需求,API服务器上提供了一个新功能,其资源是针对有属性A的用户开放的,属性A与openid的关联信息保存在API服务器上的(mysql和redis都有存),但我需要在WECHAT服务器上就要向用户给出其是否有权限访问这个资源。
目前的几个方法是这样的,求大家帮忙裁断一下哪个好,或者是否有更好的方法。
1、WECHAT服务器直接去访问API服务器上的数据表。这个物理上可以实现,但是感觉不同服务跨服务器访问数据太不合逻辑。
2、在API服务器上新做一个接口API:ifOpenidHasA。这个感觉有点浪费资源,减慢系统速度。
3、在资源A的接口上做校验,请求资源A的时候判断WECHAT服务器的请求是否带参数A。这个目前貌似还好,但是以后万一有个参数ABCD对应不同资源的时候怎么搞?以及如果有超管用户拥有所有权限的话参数又怎么搞就不知道了。
补充:可能有些地方没说太清楚,补充一下:
API接口是走的加密的,目前只有WECHAT服务器发过去的加密流量能访问,是在这做的认证。现在API服务器只能对接WECHAT服务器,外部是看不到的。以后也不打算做开放的API,都是由WECHAT服务器或者以后自己的APP用,都是加密的。现在可以认为WECHAT服务器其实也是个客户端(云客户端或WEB客户端之类的)。
不过这么考虑的话以后真要做APP的话,可能方法1就不能用了。
我取消以前的回答了。我觉得我和你们的思路不在一个频道上,所以回答的完全驴唇不对马嘴。
我的思路还是通过授权来保证安全,但是你们的思路是通过数据的加密来保证安全,我觉得两者的性能差别是很明显的,结果现在你们发现仅仅依赖加密不能解决所有问题的时候却担心安全认证带来的性能损失...

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











이번 장에서는 CakePHP의 환경 변수, 일반 구성, 데이터베이스 구성, 이메일 구성에 대해 알아봅니다.

PHP 8.4는 상당한 양의 기능 중단 및 제거를 통해 몇 가지 새로운 기능, 보안 개선 및 성능 개선을 제공합니다. 이 가이드에서는 Ubuntu, Debian 또는 해당 파생 제품에서 PHP 8.4를 설치하거나 PHP 8.4로 업그레이드하는 방법을 설명합니다.

CakePHP는 PHP용 오픈 소스 프레임워크입니다. 이는 애플리케이션을 훨씬 쉽게 개발, 배포 및 유지 관리할 수 있도록 하기 위한 것입니다. CakePHP는 강력하고 이해하기 쉬운 MVC와 유사한 아키텍처를 기반으로 합니다. 모델, 뷰 및 컨트롤러 gu

VS Code라고도 알려진 Visual Studio Code는 모든 주요 운영 체제에서 사용할 수 있는 무료 소스 코드 편집기 또는 통합 개발 환경(IDE)입니다. 다양한 프로그래밍 언어에 대한 대규모 확장 모음을 통해 VS Code는
