CherryPy 基本認(rèn)證工具

2023-12-30 23:06 更新

此工具的目的是為應(yīng)用程序中設(shè)計(jì)的應(yīng)用程序提供基本身份驗(yàn)證。

參數(shù) (Arguments)

此工具使用以下參數(shù) -

名稱默認(rèn)描述
realmN/A定義領(lǐng)域值的字符串。
usersN/A表單的字典 - 用戶名:密碼或返回此類字典的Python可調(diào)用函數(shù)。
encryptNonePython callable用于加密客戶端返回的密碼,并將其與用戶詞典中提供的加密密碼進(jìn)行比較。

例子 (Example)

讓我們舉一個(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可以由入侵者編碼和解碼。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號