googleappengine:设置用户角色和权限

2024-09-29 17:13:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在接受Udacity的Web开发课程,该课程使用Google AppEngine和Python。在

我想设置特定的用户角色及其分配的权限。例如,我可能有两个用户角色,雇主和SkilledPerson,并按如下方式分配他们的权限:

只有雇主可以创建工作实体。 只有熟练的人员才能创建简历求职实体。在

我该怎么做?在

如何定义这些用户角色? 如何为特定角色分配一组权限? 如何允许用户注册为特定角色(雇主或技术人员)?在


Tags: 用户实体web权限角色定义人员google
3条回答

您必须自己管理用户配置文件。在用户配置文件中,您可以存储用户id,如电子邮件地址或google用户id。在这个实体中添加一个角色数组,您可以在其中存储此用户的所有角色,并使用装饰器管理访问。在

例如,作为雇主的用户在他们的角色中将有“雇主”,而您可以使用@isEmployer decorator管理对作业创建处理程序的访问。 你可以在以后的解决方案中为用户分配许多类似的角色。在

我会创建一个用户配置文件表来存储他们的Google用户id,还有两个Boolean字段分别代表is_employer和is_technology_person,因为在你的网站上总有人同时担任这两个角色。(也许我是一个雇主,在发布工作的同时也在寻找工作)

如果您认为有多个角色,而一个用户只能是一个角色,那么我会将其设置为一个字符串字段,其中包含角色名称,如“雇主”、“管理员”、“求职者”等等。在

制造模型

class Role(ndb.Model):
    name = ndb.StringProperty()

class UserRole(ndb.Model):
    user = ndb.UserProperty()
    roles = ndb.KeyProperty(kind=Role,repeated=True)

使装饰者检查角色中的用户

创建作业前

^{pr2}$

相关问题 更多 >

    热门问题