Cara menulis fungsi pengurusan kebenaran peranan sistem CMS dalam Python
Dengan perkembangan Internet, bilangan pelbagai jenis laman web dan aplikasi terus meningkat. Untuk memenuhi keperluan pengguna dan melindungi privasi pengguna dan keselamatan data, pembangun perlu mempunyai fungsi pengurusan kebenaran peranan tertentu. Artikel ini akan memperkenalkan cara menggunakan Python untuk menulis fungsi pengurusan kebenaran peranan sistem CMS (sistem pengurusan kandungan) dan menyediakan contoh kod.
1. Keperluan untuk pengurusan autoriti peranan
Dalam sistem CMS, terdapat peranan pengguna yang berbeza, seperti pentadbir, editor, pengguna biasa, dll. Setiap peranan mempunyai kebenaran yang berbeza Contohnya, pentadbir boleh mengurus maklumat pengguna, menerbitkan dan mengedit artikel, editor hanya boleh mengedit artikel, pengguna biasa hanya boleh membaca artikel, dsb.
Untuk melaksanakan fungsi ini, kami perlu mereka bentuk jadual pangkalan data untuk menyimpan hubungan antara peranan dan kebenaran. Berikut ialah contoh reka bentuk jadual pangkalan data mudah:
peranan:
id: int
nama: varchar(50)
permissions:
id: int
Jadual hubungan kebenaran peranan (peranan):
id: int
role_id: int (kunci asing jadual peranan)
from flask import Flask, request from flask_sqlalchemy import SQLAlchemy app = Flask(__name__) app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///cms.db' db = SQLAlchemy(app) class Role(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True) class Permission(db.Model): id = db.Column(db.Integer, primary_key=True) name = db.Column(db.String(50), unique=True) class RolePermission(db.Model): id = db.Column(db.Integer, primary_key=True) role_id = db.Column(db.Integer, db.ForeignKey('role.id')) permission_id = db.Column(db.Integer, db.ForeignKey('permission.id')) @app.route('/role', methods=['POST']) def create_role(): name = request.form['name'] role = Role(name=name) db.session.add(role) db.session.commit() return 'Role created' @app.route('/permission', methods=['POST']) def create_permission(): name = request.form['name'] permission = Permission(name=name) db.session.add(permission) db.session.commit() return 'Permission created' @app.route('/role_permission', methods=['POST']) def create_role_permission(): role_id = request.form['role_id'] permission_id = request.form['permission_id'] role_permission = RolePermission(role_id=role_id, permission_id=permission_id) db.session.add(role_permission) db.session.commit() return 'Role permission created' if __name__ == '__main__': db.create_all() app.run()
POST /role name=admin
POST /permission name=edit_article
POST /role_permission role_id=1 permission_id=1
Atas ialah kandungan terperinci Bagaimana untuk menulis fungsi pengurusan kebenaran peranan sistem CMS dalam Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!