flask自己写登录验证和角色验证

这篇具有很好参考价值的文章主要介绍了flask自己写登录验证和角色验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

python flask程序需要用户登录也需要角色验证,可以采用如下方法

def is_login(func):
    @wraps(func)
    def inner(*args,**kwargs):
        user = session.get('user')
        if not user:
            return redirect(url_for('login'))
        return func(*args,**kwargs)
    return inner

def roles_required(*args1):
    def outer(func):
        @wraps(*args1)
        def inner(*args,**kwargs):
            user = session.get('user')
            if not user:
                return redirect(url_for('login'))
            else:
                sql="select role from users where username='{}'".format(user)
                flag=len(mydb.get_all(sql))
                if flag:
                    result=mydb.get_all(sql)
                    if result[0]['role'] in args1:
                        print(f"{result[0]['role']}{args1}中")
                        return func(*args, **kwargs)
                    else:
                        print('用户权限不足')
                        return redirect(url_for('index'))
                else:
                    print('用户没有登录')
                    return redirect(url_for('login'))
        return inner
    return outer

函数代码

@app.route('/userjson',methods=['GET','POST'],endpoint='userjson')
@roles_required('admin')
def userjson():
    sql='select * from users'
    data=mydb.get_all(sql)
    info = request.values
    print(info)
    limit = info.get('limit', 10)  # 每页显示的条数
    offset = info.get('offset', 0)  # 分片数,(页码-1)*limit,它表示一段数据的起点
    username = info.get('uname','')
    if  username:
        sql="select * from users where username='{}'".format(username)
        print(sql)
        data=mydb.get_all(sql)
    return jsonify({'total': len(data), 'rows': data[int(offset):(int(offset) + int(limit))]})

这个的需要admin权限用户才可以访问

    技术无止境文章来源地址https://www.toymoban.com/news/detail-608335.html

    到了这里,关于flask自己写登录验证和角色验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

    本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

    领支付宝红包 赞助服务器费用

    相关文章

    • 【python】flask模板渲染引擎Jinja2,通过后端数据渲染前端页面

      ✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,阿里云开发者社区专家博主,CSDN新星创作者,掘金优秀博主,51CTO博客专家等。 🏆《博客》:Python全栈,前后端开

      2024年04月11日
      浏览(43)
    • python后端,一个账户,多设备登录管理

      一个账号,多台设备同时登陆的问题,设计以及实现 参考这篇文章: 利用的是Redis,主设备的保存问题,可使用MySQL进行设置实现 同时允许3台设备在线 只是设计思路,数据库的使用,可以按照公司的要求 多设备 Redis实现的设计 参考 云原生内存数据库设计 Tair自研的拓展数

      2024年02月10日
      浏览(31)
    • 使用python库解决登录的验证码识别-图片验证码

      前言: 在UI自动化测试和爬虫测试中,验证码是个比较头疼的问题,包括:图片验证码,滑块验证码,等一些常见的验证码场景。 识别验证码的python 库有很多,用起来也并不简单,这里推荐一个简单实用的识别验证码的库 ddddocr (带带弟弟ocr)库。 今天先用一个图片验证码示

      2023年04月11日
      浏览(30)
    • 解决:Python-Flask框架—通过flask_login模块及Session模块检测是否有用户登录

      目录 一、简单示例 二、查看session信息 三、设置session过期时间   要在Flask中检测用户是否登录,可以使用以下方法: 在用户登录时,将用户的登录状态存储在会话中。例如,使用 flask_login 库进行用户认证和登录。 在需要检查用户是否登录的视图函数中,从会话中获取用户

      2024年02月22日
      浏览(31)
    • 构建强大的Python后端分离应用:使用Token实现安全身份验证和权限控制

      使用Python构建一个强大的后端分离应用,通过使用Token实现安全的身份验证和灵活的权限控制。 什么是前后端分离: 前后端分离是一种软件架构模式,它将应用程序的前端(用户界面)和后端(业务逻辑和数据处理)分离开发和部署。在前后端分离架构中,前端和后端是独立

      2024年02月03日
      浏览(56)
    • Python如何解决“滑块验证码”登录识别(3)

      前言 本文是该专栏的第24篇,后面会持续分享python的干货知识,记得关注。 做爬虫项目的时候,总是会遇到我们的冤家老朋友——验证码(图文验证码,点选验证码,滑块验证码)等。前面我有介绍过图文验证码和点选验证码,针对验证码这块, 后面我会持续更新这些 验证码

      2023年04月08日
      浏览(24)
    • Python利用Selenium实现自动化验证登录

      Python里面使用Selenium是一个很重要的自动化测试模块,我们可以用它写一个验证登录脚本,有了这个可以用来保存cookie信息等,下面是一个简单的demo:

      2024年02月15日
      浏览(35)
    • python+selenium绕过滑块验证,实现自动登录

      实现taobao自动化登录,当用webdriver打开淘宝时,滑块验证一直失败,手动滑都会失败。因为淘宝会检测window.navigator.webdriver,控件检测到你是selenium进入,所以就会弹出滑块验证。只需要绕过检测就能实现自动登录 验证了两种方法可以跳过: 第一种是给浏览器加启动参数,开

      2024年02月12日
      浏览(33)
    • Python解决微软Microsoft的登录机器人验证

      前言 本文是该专栏的第8篇, 结合优质项目案例 , 让你精通使用Pyppeteer ,后面会持续分享Pyppeteer的干货知识,记得关注。 在注册微软Microsoft账号或者注册outlook邮箱账号的时候,会遇到如下机器人验证: 是的,你可能第一眼看到这个验证页面,首先会想到是定位它的页面元

      2023年04月21日
      浏览(105)
    • Python之selenium,使用webdriver模拟登录网站(含验证码)

      前段时间做了一个小项目,其中有一段需要自动获取网站后台的数据,但是这个网站没有任何提供给开发者的API,所以只能靠自己去探索。 起初想着用发送请求的方式去模拟登陆,获取cookies,从而再获取网站后台数据,但是因为自己太菜了一些原因,放弃了这个方法。 后来

      2024年02月02日
      浏览(32)

    觉得文章有用就打赏一下文章作者

    支付宝扫一扫打赏

    博客赞助

    微信扫一扫打赏

    请作者喝杯咖啡吧~博客赞助

    支付宝扫一扫领取红包,优惠每天领

    二维码1

    领取红包

    二维码2

    领红包