码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Flask博客实战 - 实现个人中心及权限管理


    教程到这里我们的内容就已经过了95%,学习如逆水行舟,不进则退,互联网技术尤其如此,所以不论学习任何东西都要去写、去思考、去实践,往往看起来非常简单的东西反而自己却无从下手,不是缺乏编程思维就是基础不牢固,无论是那一个原因,通过勤奋不辍的练习都能弥补,知识的分享也是一种学习的手段,祝愿每个看到此教程并且能坚持到这里的同学学有所成!

    实现权限管理

    在管理后台中比较有名的管理权限模型一般遵循RABC模型去实现,如果这部分内容展开讲的话,那堪比另外一个教程了,那么我们的博客非常简单,就以最简单的方式实现权限的管理,也给大家提供了一个flask权限配置的一个思路!

    我们的用户目前就分类两类,一类是超级管理员,一类是普通用户,对于超级管理员拥有所有权限,可以访问网站的任何url,那么普通用户也就是注册登录的用户,则除了公开的url外只能访问授权的url,这个权限根据url去实现,控制的比较粗糙,但足以说明问题!

    在app/auth/views/auth.py中的load_logged_in_user方法中注入权限标识,代码如下:

    1. @bp.before_app_request
    2. def load_logged_in_user():
    3. # 每个请求之前都会去session中查看user_id来获取用户
    4. # 注册用户即非管理员用户允许登录后查看的url
    5. urls = ['/auth/']
    6. user_id = session.get('user_id')
    7. if user_id is None:
    8. g.user = None
  • 相关阅读:
    Redis主从同步原理
    IDEA jar看不到反编译后的源码(只有方法那一级/* compiled code*/)
    Java实现网上书店管理系统(idea+MySQL+navicat)
    ICME 论文Latex模版要求
    Qt打开ui文件经常报错
    如何做顶级“新生代农民工”?这几本书为你打开大门
    PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation
    MyBatis初步了解
    Spring & SpringBoot
    进程间通信-内存映射
  • 原文地址:https://blog.csdn.net/weixin_41861301/article/details/125426432
  • 最新文章
  • 沪漂五周年了:我越来越迷茫了
    Agentic Skill Routing 实战:别再把所有 Skill 塞进 AI Agent 上下文
    MySQL-Seconds_behind_master的精度误差
    [MAF预定义ChatClient中间件-03]CachingChatClient——利用缓存省钱省时间
    AI的至暗历史:从万众期待到被政府撤资,AI的两次死亡徘徊
    Agent OS :五种驯服不确定性的范式
    PortSwigger SQL注入LAB11
    数据库即时编译JIT
    [Begin]AI Learn Data Day 0
    深度学习进阶(二十七)现代 LLM 的核心架构设计其二:SwiGLU
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
小工具 小游戏
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1

京公网安备 11010502049817号