Flask - Active Directory身份验证

时间:2017-01-16 20:26:21

标签: flask

我制作了一个小型Flask应用程序,我希望用户能够使用他们的Windows NT ID进行身份验证。我不是IT团队的一员,所以我对这方面的洞察力有限,而我的IT团队对Python没有经验。

配置它有多容易?我试着做一些谷歌搜索,我看到了LDAP模块和Flask-Security。我希望有一个快速指南或指向一个特定的方向。

  • 现有的Active Directory和我们的许多内部网站都使用NT身份验证
  • 我制作了一个Flask应用程序,我将移植到我们的内部网络
  • 我希望用户能够使用他们的NT ID
  • 登录该站点
  • 我需要知道我需要哪些信息(LDAP服务器和端口?)或我需要做些什么才能在不破坏任何安全协议的情况下正确配置

谢谢!

2 个答案:

答案 0 :(得分:9)

使用Flask非常容易,因为它是一个基于插件的轻量级Python Web框架。

  

LDAP配置需要的东西

  • LDAP主机
  • LDAP域
  • LDAP配置文件密钥
  

您需要安装Flask-LDAP插件

pip install Flask-LDAP

这是一个让你入门的基本例子:

from flask import Flask
from flask.ext.ldap import LDAP, login_required

app = Flask(__name__)
app.debug = True

app.config['LDAP_HOST'] = 'ldap.example.com'
app.config['LDAP_DOMAIN'] = 'example.com'
app.config['LDAP_SEARCH_BASE'] = 'OU=Domain Users,DC=example,DC=com'

ldap = LDAP(app)
app.secret_key = "welfhwdlhwdlfhwelfhwlehfwlehfelwehflwefwlehflwefhlwefhlewjfhwelfjhweflhweflhwel"
app.add_url_rule('/login', 'login', ldap.login, methods=['GET', 'POST'])

@app.route('/')
@ldap.login_required
def index():
    pass

# @app.route('/login', methods=['GET', 'POST'])
# def login():
#     pass

if __name__ == '__main__':
app.run(debug=True, host="0.0.0.0")

可以找到更多详细信息here

答案 1 :(得分:3)

对于Name: Flask-LDAP, Version: 0.1.6,请使用此:

要安装: pip install Flask-LDAP

并通过以下方式导入:

from flask import Flask
from flask_ldap import LDAP, login_required

然后按照Priyank的示例。