2024-09-29 17:13:57 发布
网友
我正在接受Udacity的Web开发课程,该课程使用Google AppEngine和Python。在
我想设置特定的用户角色及其分配的权限。例如,我可能有两个用户角色,雇主和SkilledPerson,并按如下方式分配他们的权限:
只有雇主可以创建工作实体。 只有熟练的人员才能创建简历和求职实体。在
我该怎么做?在
如何定义这些用户角色? 如何为特定角色分配一组权限? 如何允许用户注册为特定角色(雇主或技术人员)?在
您必须自己管理用户配置文件。在用户配置文件中,您可以存储用户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)
使装饰者检查角色中的用户
创建作业前
您必须自己管理用户配置文件。在用户配置文件中,您可以存储用户id,如电子邮件地址或google用户id。在这个实体中添加一个角色数组,您可以在其中存储此用户的所有角色,并使用装饰器管理访问。在
例如,作为雇主的用户在他们的角色中将有“雇主”,而您可以使用@isEmployer decorator管理对作业创建处理程序的访问。 你可以在以后的解决方案中为用户分配许多类似的角色。在
我会创建一个用户配置文件表来存储他们的Google用户id,还有两个Boolean字段分别代表is_employer和is_technology_person,因为在你的网站上总有人同时担任这两个角色。(也许我是一个雇主,在发布工作的同时也在寻找工作)
如果您认为有多个角色,而一个用户只能是一个角色,那么我会将其设置为一个字符串字段,其中包含角色名称,如“雇主”、“管理员”、“求职者”等等。在
制造模型
使装饰者检查角色中的用户
创建作业前
^{pr2}$相关问题 更多 >
编程相关推荐