- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我将模板 graphcool/templates/auth/email-password 与 Graphcool 一起使用,我想添加管理用户 Angular 色的功能。
这是我的定义模式:
type User @model {
id: ID! @isUnique
createdAt: DateTime!
updatedAt: DateTime!
email: String! @isUnique
password: String!
role: UserRole!
}
enum UserRole {
EDITOR,
MODERATOR,
ADMIN
}
我已经收到查询中的 Angular 色并将其保存在本地存储中,但任何人都可以更改它影响前端 UI(如果我们添加权限,我们不应该担心在服务器端)。管理它的最佳/安全方法是什么?
最佳答案
您在使用 Graphcool 框架吗?
如果需要在graphcool.yml中设置权限。我将包括以下内容:
graphcool.yml
- operation: User.create
authenticated: true
query: permissions/User.graphql:adminRole
- operation: User.read
authenticated: true
query: permissions/User.graphql:adminRole
- operation: User.update
authenticated: true
query: permissions/User.graphql:adminRole
- operation: User.delete
authenticated: true
query: permissions/User.graphql:adminRole
- operation: User.read
authenticated: true
query: permissions/User.graphql:user
fields:
- id
- name
- role
- createdAt
- updatedAt
- email
- company
- operation: User.update
authenticated: true
query: permissions/User.graphql:user
fields:
- name
- company
User.graphql
query user($node_id: ID, $user_id: ID!) {
SomeUserExists(filter: {AND: [{id: $user_id}, {id: $node_id}]})
}
query adminRole($user_id: ID!) {
SomeUserExists(filter: {id: $user_id, role: ADMIN})
}
这样用户只能更新他们的名字和公司。然后 ADMIN 用户可以对每个人进行阅读和编辑。只有 ADMIN 用户可以创建或更新新用户。
然后您可能会问如何创建新用户?我会使用 Graphcool 模板中的 FaaS 代码进行电子邮件密码身份验证:
https://github.com/graphcool/templates/tree/master/auth/email-password
signup.ts
文件告诉您新用户如何注册,然后管理员会为您创建一个新用户。在注册函数中,您可以将 UserRole 默认为您想要的任何值。
https://github.com/graphcool/templates/blob/master/auth/email-password/src/signup.ts
关于javascript - 使用 Graphcool 管理用户 Angular 色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47294038/
我已按照 https://www.graph.cool/ 设置介绍项目的步骤进行操作。在项目的权限部分中,我可以查看和编辑例如以下权限: 帖子: 当单击显示每个人都可以编辑帖子数据的行时,会出现一个对
我很难弄清楚如何使用 graph cool 进行关系突变。 我的架构如下所示: type Team @model { id: ID! @isUnique name: String play
我已经成功设置Graph.cool Auth0 身份验证并通过中继创建用户,如所述here . 接下来我想代表这个用户实际查询 graph.cool。作为第一步,我简单地手动修改了 Relay 设置以
我正在尝试使用 Graphcool 为我们的产品设计后端。我们已经有了产品的领域模型。 我面临的问题是非标量属性,我被迫使用@relation(这也是双向关系)。 帮我设计一下下面的案例 # proj
是否可以从 Graphcool 返回随机 graphql 元素后端?如果是这样,该怎么办? 或者,有关如何为 Graphcool 后端创建自定义查询的任何提示? 最佳答案 实现此目的的最佳方法是使用
我有以下 GraphQL 架构。它具有具有多对多关系的 Books 和 Authors。如何为现有作者创建新的书籍突变? 架构 type Author implements Node { book
我正在尝试按照 How To GraphQL 上的本教程设置 graphcool 订阅/websockets但我收到以下消息: WebSocket connection to 'wss://subsc
好的,我已经使用 Prisma 工作了几个星期,并取得了一些巨大的进步,我喜欢实现许多高级功能的设置/易用性。 我正在尝试对表字段进行排序。 我可以选择(以及其他字段)按 term_ASC 和 ter
我将模板 graphcool/templates/auth/email-password 与 Graphcool 一起使用,我想添加管理用户 Angular 色的功能。 这是我的定义模式: type
我有聊天模型 type Chat @model { id: ID! @isUnique name: String messages: [Message!]! @relation
我正在尝试创建一个以 Gatsby 为基础混合静态内容和动态内容的网站。这个混合站点将包含可供公众使用的静态营销页面以及存在于身份验证墙后面的几个动态页面。根据this tweet with @Gat
我是一名优秀的程序员,十分优秀!