当前位置: 首页 > 面试题库 >

Flask-Active Directory身份验证

须峰
2023-03-14
问题内容

我制作了一个小的Flask应用程序,希望用户能够使用其Windows NT ID进行身份验证。我不是IT团队的一员,因此我对该领域的了解有限,我的IT团队也没有使用Python的经验。

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

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

问题答案:

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")


 类似资料:
  • 有人在springboot应用程序中找到了这样的工作示例吗? /auth控制器,用户在其中提供ActiveDirectory凭据(通过基本身份验证或POST json)并在提供有效AD凭据的情况下接收JWT令牌。不应涉及LDIF文件,Springboot应用程序将根据ldaps://ActiveDirectoryhost: 636endpoint验证凭据 /myapi控制器仅在步骤1(上图)中的有

  • 问题内容: 我正在开发Flask应用程序,并使用Flask-security进行用户身份验证(反过来又在下面使用Flask-login)。 我有一条需要身份验证的路由。我正在尝试编写一个单元测试,该测试对经过身份验证的用户返回适当的响应。 在单元测试中,我正在创建一个用户并以该用户身份登录,如下所示: 在测试内返回正确的用户。但是,请求的视图始终返回的。 所述路线定义为: 我可以肯定我只是不完全了

  • 最终目标是:编写一个Flask应用程序,支持使用Amazon Cognito用户池进行登录/身份验证。这两个框架对我来说都是相当新的。 我从提供的链接中为公钥检索了一个JWK,但我不确定如何使用它。记住我是在Python环境中工作的,我可以使用哪些库来解码令牌?我查看了flask-jwt-extended,但是提供的类和方法似乎并不能解决我的确切问题。我应该重写flask-jwt-extended

  • 身份验证 PDF版下载 企业应用中的URL链接可以通过OAuth2.0验证接口来获取员工的身份信息。 通过此接口获取员工身份会有一定的时间开销。对于频繁获取员工身份的场景,建议采用如下方案: 企业应用中的URL链接直接填写企业自己的页面地址; 员工跳转到企业页面时,企业校验是否有代表员工身份的cookie,此cookie由企业生成; 如果没有获取到cookie,重定向到OAuth验证链接,获取员工

  • 问题内容: 我正在尝试在Node.js中使用Socket.IO,并试图允许服务器为每个Socket.IO客户端赋予一个身份。由于套接字代码不在http服务器代码的范围内,因此无法轻松访问已发送的请求信息,因此我假设在连接期间需要将其发送出去。什么是最好的方法 1)将有关谁通过Socket.IO连接到服务器的信息 2)验证他们说的是谁(如果正在使事情变得更容易,我目前正在使用Express) 问题答

  • 我试图使用swift代码在网站上找到这里,但响应是html代码与两个错误:“您必须输入密码!”和“您必须输入用户名!”我是NSURLSession的新手,试图更改用于身份验证的字符串,但无法更改响应。下面是我的代码: 这是控制台响应中的内容: