通用权限管理系统的源码涉及到很多方面,包括用户管理、角色管理、权限管理等,以下是一个简单的Python示例,使用了Flask框架和SQLAlchemy ORM库来实现一个基本的权限管理系统。
安装所需的库:
pip install flask flasksqlalchemy flasklogin
创建一个app.py
如下:
from flask import Flask, render_template, redirect, url_for, request, flash from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager, UserMixin, login_user, logout_user, login_required, current_user app = Flask(__name__) app.config['SECRET_KEY'] = 'mysecretkey' app.config['SQLALCHEMY_DATABASE_URI'] = 'sqlite:///users.db' db = SQLAlchemy(app) login_manager = LoginManager() login_manager.init_app(app) login_manager.login_view = 'login' class User(UserMixin, db.Model): id = db.Column(db.Integer, primary_key=True) username = db.Column(db.String(100), unique=True) password = db.Column(db.String(100)) role = db.Column(db.String(100)) @login_manager.user_loader def load_user(user_id): return User.query.get(int(user_id)) @app.route('/login', methods=['GET', 'POST']) def login(): if request.method == 'POST': username = request.form['username'] password = request.form['password'] user = User.query.filter_by(username=username).first() if user and user.password == password: login_user(user) return redirect(url_for('dashboard')) else: flash('Invalid username or password') return render_template('login.html') @app.route('/logout') @login_required def logout(): logout_user() return redirect(url_for('login')) @app.route('/dashboard') @login_required def dashboard(): return f'Welcome, {current_user.username}! Your role is {current_user.role}.' if __name__ == '__main__': app.run(debug=True)
创建一个templates
文件夹,并在其中创建login.html
如下:
<!DOCTYPE html> <html> <head> <title>Login</title> </head> <body> <h1>Login</h1> {% with messages = get_flashed_messages() %} {% if messages %} <ul> {% for message in messages %} <li>{{ message }}</li> {% endfor %} </ul> {% endif %} {% endwith %} <form method="post"> <label for="username">Username:</label> <input type="text" name="username" required> <br> <label for="password">Password:</label> <input type="password" name="password" required> <br> <input type="submit" value="Login"> </form> </body> </html>
这个简单的示例展示了如何使用Flask框架和SQLAlchemy ORM库实现一个基本的登录功能,要实现更复杂的权限管理系统,你可以考虑使用FlaskPrincipal或FlaskSecurity等扩展库。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1080787.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复