用flask 和 angular 實現HTTP Basic Auth

jopen 9年前發布 | 22K 次閱讀 angularjs

本文介紹用Flask 和 AngularJs 實現 HTTP Basic Auth。

要實現登錄認證功能,常用的有以下這兩種方法:

  1. Basic access authentication
  2. Digest access authentication
  3. </ol>

    這兩種方法各有優劣,

    • Basic access authentication 主要是勝在簡單,只需要在Requset Header中加入Authorization: Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ==,其中字符串"Basic "后面的是"username:password"字符串的Base64編碼,如果驗證不成功,server會在Response Header中返回WWW-Authenticate: Basic realm="domain",狀態碼為401。但是這個方法不安全,在生產環境中須要在HTTPS下使用。但也因為他夠簡單,我們可以在開發測試環境中使用。
    • Digest access authentication 顧名思義,主要是通過server端返回的隨機碼和摘要算法對username和password、realm以及需要發送的請求內容提取摘要,發送給 server,該方法相比Basic access authentication來說稍稍復雜,但是卻有較強的安全性。
    • </ul>

      詳細介紹請看我的博客 flask-angular-http-auth

      運行

      要讓程序成功跑起來,首先創建virtualenv,然后安裝依賴

      pip install -r requirements.txt

      然后創建數據庫

      $ python manager.py create_db

      然后創建用戶名和密碼

      $ python manager.py shell

      >>> u = User(name='admin') >>> db.session.add(u) >>> db.session.commit()</pre>

      最后運行服務

      $ python manager.py runserver

      項目主頁:http://www.baiduhome.net/lib/view/home/1440557915685</p> </strong>

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!