zoukankan      html  css  js  c++  java
  • 技术博客-2 DRF用户权限以及邮箱验证

    技术博客

    DRF用户权限以及邮箱验证

    1.最终效果

    用户注册后发送邮件到指定邮箱,


    点击http://127.0.0.1:8000/api/user/email/?token=xxx链接后跳转到服务器对应的restful api处,根据附带的token修改用户的is_active字段,使得用户被激活。

    2.实现逻辑
    • 利用itsdangerous模块对链接中的用户信息加密,生成加密后的用户信息token;

    • 调用Django发送邮件的相关方法,进行发送邮件

      • 邮件配置如下例:
        settings.py中添加:
        # 默认邮箱配置
        EMAIL_USE_SSL = True
        EMAIL_HOST = 'smtp.qq.com'  # smtp服务器地址
        EMAIL_PORT = 465  # 端口
        EMAIL_HOST_USER = 'xxx'  # 帐号
        EMAIL_HOST_PASSWORD = 'xxx'  # QQ邮箱的独立授权码,每个人不一样
        EMAIL_FROM = 'xxx'  # 收件人看到的发件人,尖括号中的必须与上面的user一致
        DEFAULT_FROM_EMAIL = EMAIL_HOST_USER
        
    • 邮件发送的链接中有一个可变参数,包含着用户id加密后的信息;

    • 用户接收到邮件之后,点击链接,跳转到对应的视图类进行处理;

    • 负责激活的视图类,解密用户的信息,获取用户id,查询到对应用户(在这个过程会判断被加密的信息是否超时);

    • 将对应用户中数据库中用户表中 is_active 字段的值改为1,表示此用户被激活;

    • 跳转到首页

  • 相关阅读:
    ubuntu常用命令
    安装 Ruby, Rails 运行环境 常见的错误
    dubbo user guider笔记之一Preface
    翻译-Your first Dubbo application
    翻译-1.2 容器概述
    翻译-Core Technologies
    翻译-1.1 关于spring ioc容器和bean的介绍
    TCP协议-滑动窗口及拥塞控制
    QUARTZ之三-JobStores相关概念
    项目经验总结
  • 原文地址:https://www.cnblogs.com/NAG2020/p/12893806.html
Copyright © 2011-2022 走看看