假设我的 GAE 项目中的模块很少(比如 A、B、C)。他们共享用户数据库和会话。
例如:模块 A 将管理登录/注销操作(通过 cookie),模块 B、C 将处理其他操作。仅供参考,这些模块是用 PHP 和 Python 开发的。
现在,我不想在所有 3 个模块上制作用户和会话验证码。
无论如何,我是否可以为每个请求放置一个在所有 3 个模块之前运行的中间件。如X:如果用户已经登录,它会为每个请求添加header来设置用户id和一些用户的信息。
IE:在我可以实现我的上述想法之后。每个请求将在以下 3 种情况下运行 1:
- X,一个
- X,乙
- X, C
你说什么?谢谢
更新 1:更多信息
中间件,我的意思是请求中间件。
如果 X 是一个中间件,那么它将在请求传递给应用程序(或模块)之前运行,它只会更改请求,例如:
- 做一些认证动作
- 添加一些标题:
X-User-Id
: 用于授权用户 idX-User-Scopes
: 授权用户范围
- ETC ...
当然,它独立于内部模块的语言(PHP 或 Python 或 Java 或...)
X 中间件应该配置在app.yaml
.