Flask-security创建角色,用户并将user_id链接到role_id [英] Flask-security create role,user and linking user_id to role_id

查看:363
本文介绍了Flask-security创建角色,用户并将user_id链接到role_id的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我将Flask-Security与SQLAlchemy结合使用

I using Flask-Security with SQLAlchemy

要添加用户或角色时

def addrole():
        form=addroll()
        createRole=user_datastore.create_role(name=form.role.data,description=form.description.data)
        db.session.add(createRole)
        db.session.commit()

在mysql表中添加一条记录属于我的创建,而两条记录或树空白记录在我想创建用户时同样认为发生 要将用户与角色相关联,我具有以下内容:

in mysql table add one record belong my creation and two or tree blank record same think happen when i want to create user To associate a user with a role, I have the following :

   @app.route('/addR', methods=['GET', 'POST'])
   @login_required
   def addR():
      email1=request.form['emails']
      role1=request.form['role2']
      user = user_datastore.find_user(email=request.args.get('email1'))
      role = user_datastore.find_role(request.args.get('role1'))
      user_datastore.add_role_to_user(user, role)
      db.session.commit()
      return  redirect('/addroletouser' )

它在roles_users表中链接了错误的user_id和role_id.

It linking a wrong user_id and role_id in roles_users table.

推荐答案

在将Flask-Security与SQLAlchemy结合使用时,不需要手动链接记录,可以在user_datastore中使用create_rolecreate_user. 这与用于初始化Flask-Security的user_datastore相同. 一个简单的例子(请不要使用纯文本密码):

When using Flask-Security with SQLAlchemy you do not need to manually link the records, you can use create_role and create_user from the user_datastore. This is the same user_datastore that you used to initialise Flask-Security. A simple example (do not use plain text password please):

def seed():
  user_datastore.create_role(name='admin')
  user_datastore.create_user(username='admin', email='admin@example.com',
                             password='admin', roles=['admin'])

这篇关于Flask-security创建角色,用户并将user_id链接到role_id的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆