Oracle Application Express(APEX)中是否可以限制页面创建权限?
多环境权限配置实现方案
以下是实现「仅开发环境允许创建页面、所有环境保留开发者栏会话查看权限」的可行方案:
前置配置
首先在项目中注入全局环境变量标识当前运行环境,你可以用打包工具自带的环境变量注入能力实现,不同环境部署时自动写入对应值,示例变量命名为RUNTIME_ENV:
- 开发环境赋值为
development - 测试/预发/生产等其他环境赋值为对应环境标识,如
test/staging/production
核心权限控制逻辑
页面创建权限限制
做前后端双重校验,避免权限绕过:
- 前端侧:仅当
RUNTIME_ENV === 'development'时,才渲染页面创建按钮、开放创建操作的触发逻辑,非开发环境直接隐藏所有创建相关入口 - 服务端侧:对所有页面创建类接口做拦截,校验请求来源环境,仅允许开发环境的请求执行创建逻辑
前端判断示例代码:
// 页面创建权限判断 export const allowCreatePage = process.env.RUNTIME_ENV === 'development'- 前端侧:仅当
开发者栏会话查看权限保留
该权限不要和页面创建权限绑定,单独配置为全环境开放即可:
// 开发者栏会话查看权限全环境开放 export const allowViewSessionInDevbar = true
注意不要仅依赖前端做权限控制,服务端的接口校验是必须的,防止用户通过篡改前端代码绕过限制调用创建接口。
内容的提问来源于stack exchange,提问作者Maximiliano Sosa
相关产品推荐
相关产品推荐

