W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
此工具的目的是為應(yīng)用程序中設(shè)計(jì)的應(yīng)用程序提供基本身份驗(yàn)證。
此工具使用以下參數(shù) -
名稱 | 默認(rèn) | 描述 |
---|---|---|
realm | N/A | 定義領(lǐng)域值的字符串。 |
users | N/A | 表單的字典 - 用戶名:密碼或返回此類字典的Python可調(diào)用函數(shù)。 |
encrypt | None | Python callable用于加密客戶端返回的密碼,并將其與用戶詞典中提供的加密密碼進(jìn)行比較。 |
讓我們舉一個(gè)例子來了解它是如何工作的 -
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函數(shù)返回一個(gè)硬編碼字典,但也從數(shù)據(jù)庫或其他任何地方獲取值。 類admin包含此函數(shù),該函數(shù)使用CherryPy的身份驗(yàn)證內(nèi)置工具。 身份驗(yàn)證加密密碼和用戶ID。
基本身份驗(yàn)證工具并不十分安全,因?yàn)槊艽a可以由入侵者編碼和解碼。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: