CherryPy 基本认证工具

2023-12-30 23:06 更新

此工具的目的是为应用程序中设计的应用程序提供基本身份验证。

参数 (Arguments)

此工具使用以下参数 -

名称默认描述
realmN/A定义领域值的字符串。
usersN/A表单的字典 - 用户名:密码或返回此类字典的Python可调用函数。
encryptNonePython callable用于加密客户端返回的密码,并将其与用户词典中提供的加密密码进行比较。

例子 (Example)

让我们举一个例子来了解它是如何工作的 -

import sha
import cherrypy
class Root:
@cherrypy.expose
def index(self):
return """
<html>
   <head></head>
   <body>
      <a href = "admin">Admin </a>
   </body>
</html>
""" 
class Admin:
@cherrypy.expose
def index(self):
return "This is a private area"
if __name__ == '__main__':
def get_users():
# 'test': 'test'
return {'test': 'b110ba61c4c0873d3101e10871082fbbfd3'}
def encrypt_pwd(token):
return sha.new(token).hexdigest()
   conf = {'/admin': {'tools.basic_auth.on': True,
      tools.basic_auth.realm': 'Website name',
      'tools.basic_auth.users': get_users,
      'tools.basic_auth.encrypt': encrypt_pwd}}
   root = Root()
root.admin = Admin()
cherrypy.quickstart(root, '/', config=conf)

get_users函数返回一个硬编码字典,但也从数据库或其他任何地方获取值。 类admin包含此函数,该函数使用CherryPy的身份验证内置工具。 身份验证加密密码和用户ID。

基本身份验证工具并不十分安全,因为密码可以由入侵者编码和解码。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号