TV 채널 웹사이트: 루트 사용자 생성
베르셀: https://khmerweb-tv-channel.vercel.app/login
대시보드를 구축하기 전에 대시보드를 감독할 루트 사용자 또는 관리자(admin)를 생성해야 합니다. 나중에 사용할 수 있도록 MongoDB Atlas의 "users"컬렉션에 rootuser를 등록합니다.
이 목표를 달성하기 위해 모델 폴더 내의 user.py 파일에 "User"클래스를 만들 것입니다. 이 클래스는 컨트롤러 폴더 안에 있는 login.py 파일의 "Login"클래스로 가져옵니다. 이렇게 하면 User 클래스를 인스턴스화하고 해당 클래스에서 createRootUser() 메서드를 호출하여 관리자 또는 루트 사용자를 만들 수 있습니다.
사용자의 암호를 기밀로 만들기 위해 Python 표준 라이브러리 "hashlib"를 사용하여 암호를 해시할 수 있습니다.
# models/user.py
import config, hashlib, uuid
class User:
def __init__(self):
self.db = config.db
self.setup = config.settings()
def createRootUser(self):
raw_salt = uuid.uuid4().hex
password = "xxxxxxxxxxxxxxxxxxx".encode('utf-8')
salt = raw_salt.encode('utf-8')
hashed_password = hashlib.sha512(password + salt).hexdigest()
user = {
"id": uuid.uuid4().hex,
"title": 'Sokhavuth',
"content": '',
"thumb": '',
"date": '',
"role": 'Admin',
"email": '[email protected]',
"salt": raw_salt,
"password": hashed_password,
}
usercol = self.db["users"]
usercol.insert_one(user)
# controllers/frontend/login.py
import config, copy
from bottle import template
from models.user import User
class Login:
def __init__(self):
settings = copy.deepcopy(config.settings)
self.setup = settings()
def getPage(self):
user = User()
user.createRootUser()
self.setup["pageTitle"] = "Log into Admin Page"
self.setup["route"] = "/login"
return template("base", data=self.setup)
Reference
이 문제에 관하여(TV 채널 웹사이트: 루트 사용자 생성), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/sokhavuth/tv-channel-website-creating-root-user-3718텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)