Skip to content

  • 体验新版
    • 正在加载...
  • 登录
  • DCloud
  • uni-starter
  • Issue
  • #2

U
uni-starter
  • 项目概览

DCloud / uni-starter

通知 4746
Star 231
Fork 211
  • 代码
    • 文件
    • 提交
    • 分支
    • Tags
    • 贡献者
    • 分支图
    • Diff
  • Issue 6
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 0
  • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • Wiki 0
    • Wiki
  • 分析
    • 仓库
    • DevOps
  • 项目成员
  • Pages
U
uni-starter
  • 项目概览
    • 项目概览
    • 详情
    • 发布
  • 仓库
    • 仓库
    • 文件
    • 提交
    • 分支
    • 标签
    • 贡献者
    • 分支图
    • 比较
  • Issue 6
    • Issue 6
    • 列表
    • 看板
    • 标记
    • 里程碑
  • 合并请求 0
    • 合并请求 0
  • Pages
  • DevOps
    • DevOps
    • 流水线
    • 流水线任务
    • 计划
  • 分析
    • 分析
    • 仓库分析
    • DevOps
  • Wiki 0
    • Wiki
  • 成员
    • 成员
  • 收起侧边栏
  • 动态
  • 分支图
  • 创建新Issue
  • 流水线任务
  • 提交
  • Issue看板
已关闭
开放中
Opened 7月 03, 2021 by iamnotstone_real@iamnotstone_real

permission定义有些奇怪

在很多文件中对permission的配置都有些奇怪。例如: uni-id-scores.schema.json文件中

	"permission": {
		"read": true,
		"create": true,
		"update": "doc._id == auth.uid",
		"delete": false
	},

这里关于update的定义,应该意图应该是只允许用户自己更新自己的数据,但doc._id却是uni-id-scores表单的_id号。这里明显达不到这个目的?

又例如: uni-id-users.schema.json文件中

	"permission":{
		"update":"doc.uid==auth.uid"
	},
	"required": [],
	"properties": {
		"_id": {
			"description": "存储文档 ID(用户 ID),系统自动生成"
		},
		"username": {
			"bsonType": "string",
			"title": "用户名",
			"description": "用户名,不允许重复",
			"trim": "both"
		},
		"password": {
			"bsonType": "password",
			"title": "密码",
			"description": "密码,加密存储",

在properties中根本没有uid字段的存在,doc.uid又有何意义?

又例如: opendb-news-favorite.schema.json文件中

	"permission": {
		"read": "doc.uid == auth.uid",
		"create": "auth.uid != null",
		"update": "doc.uid == auth.uid",
		"delete": "doc.uid == auth.uid"
	},
	"properties": {
		"_id": {
			"description": "ID,系统自动生成"
		},
		"article_id": {
			"bsonType": "string",
			"description": "文章id,参考opendb-news-articles表",
			"foreignKey": "opendb-news-articles._id"
		},
		"article_title": {
			"bsonType": "string",
			"description": "文章标题"
		},
		"user_id": {
			"bsonType": "string",
			"description": "收藏者id,参考uni-id-users表",
			"forceDefaultValue": {
				"$env": "uid"
			},
			"foreignKey": "uni-id-users._id"
		},
		"create_date": {

在properties中只定义了user_id,按我的理解

	"permission": {
		"read": "doc.uid == auth.uid",
		"create": "auth.uid != null",
		"update": "doc.uid == auth.uid",
		"delete": "doc.uid == auth.uid"
	},

不应该写成这样吗?

	"permission": {
		"read": "doc.user_id == auth.uid",
		"create": "auth.uid != null",
		"update": "doc.user_id == auth.uid",
		"delete": "doc.user_id == auth.uid"
	},

或许我对文档理解有错误吧,我的理解是doc后面不都应该跟着properties定义过的字段吗?而这些源码都违背了此原则。

指派人
分配到
无
里程碑
无
分配里程碑
工时统计
无
截止日期
无
标识: dcloud/uni-starter#2
渝ICP备2023009037号

京公网安备11010502055752号

网络110报警服务 Powered by GitLab CE v13.7
开源知识
Git 入门 Pro Git 电子书 在线学 Git
Markdown 基础入门 IT 技术知识开源图谱
帮助
使用手册 反馈建议 博客
《GitCode 隐私声明》 《GitCode 服务条款》 关于GitCode
Powered by GitLab CE v13.7