确保 AnonUser 更新模型字段的 URL/page - Django Rest 框架
Secure URL/page for AnonUser to update a model field - Django Rest framework
我有一个名为 Lead 的模型,它代表了我可能的 future_customer。
为了更新此模型中名为 is_approved 的布尔字段,我正在向 Lead 的 电子邮件 ID 以及 URL 并且此 URL 会将您带到我网站上的一个页面,在那里它要求批准。
如何处理 Django Rest 框架 视图中的权限?没有 django 用户与 Lead 模型关联,我不能使用任何与 类 相关的身份验证。
模糊 url 以及 AllowAny 权限是否足够好?
在验证电子邮件的正常情况下,通常会发生的情况是它们会为相应的电子邮件生成一个唯一的令牌。然后他们在用户点击电子邮件时。他被带到一个页面,其中可能有表单提交,该表单提交到 POST 页面或直接验证。
唯一的安全措施是唯一 ID 是唯一的,并且很少有人通过暴力生成这些 ID。这是唯一的保障。您还可以添加一个过期时间,使 link 仅在几天内有效。
您找到与之关联的相应电子邮件并相应地更新 is_approved 字段。
您的模型和视图应如下所示。
class Lead(models.Model):
email = models.EmailField()
unique_id = models.CharField(default=uuid.uuid4)
is_approved = models.BooleanField(default=False)
def get_absolute_url(self):
return reverse('lead_verification', kwargs={'unique_id': self.unique_id})
class LeadVerificationView(APIView):
def post(self, unique_id):
lead = Lead.objects.get(unique_id=unique_id)
lead.is_approved = True
lead.save()
我有一个名为 Lead 的模型,它代表了我可能的 future_customer。
为了更新此模型中名为 is_approved 的布尔字段,我正在向 Lead 的 电子邮件 ID 以及 URL 并且此 URL 会将您带到我网站上的一个页面,在那里它要求批准。
如何处理 Django Rest 框架 视图中的权限?没有 django 用户与 Lead 模型关联,我不能使用任何与 类 相关的身份验证。
模糊 url 以及 AllowAny 权限是否足够好?
在验证电子邮件的正常情况下,通常会发生的情况是它们会为相应的电子邮件生成一个唯一的令牌。然后他们在用户点击电子邮件时。他被带到一个页面,其中可能有表单提交,该表单提交到 POST 页面或直接验证。
唯一的安全措施是唯一 ID 是唯一的,并且很少有人通过暴力生成这些 ID。这是唯一的保障。您还可以添加一个过期时间,使 link 仅在几天内有效。
您找到与之关联的相应电子邮件并相应地更新 is_approved 字段。
您的模型和视图应如下所示。
class Lead(models.Model):
email = models.EmailField()
unique_id = models.CharField(default=uuid.uuid4)
is_approved = models.BooleanField(default=False)
def get_absolute_url(self):
return reverse('lead_verification', kwargs={'unique_id': self.unique_id})
class LeadVerificationView(APIView):
def post(self, unique_id):
lead = Lead.objects.get(unique_id=unique_id)
lead.is_approved = True
lead.save()