CherryPy 基本认证工具
2023-12-30 23:06 更新
此工具的目的是为应用程序中设计的应用程序提供基本身份验证。
参数 (Arguments)
此工具使用以下参数 -
名称 | 默认 | 描述 |
---|---|---|
realm | N/A | 定义领域值的字符串。 |
users | N/A | 表单的字典 - 用户名:密码或返回此类字典的Python可调用函数。 |
encrypt | None | Python 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。
基本身份验证工具并不十分安全,因为密码可以由入侵者编码和解码。
以上内容是否对您有帮助:
更多建议: