mreas 2021-05-10 23:45 采纳率: 0%
浏览 25

基于LDAP,对接学校统一身份认证,实现用户用校园统一账号密码登陆系统

用PHP做一个网站,如标题所示先对接登录,再进行其他操作。姑且用 Softerra LDAP Browser 创建了一个项目连接了学校的LDAP(应该是),接下来该如何操作呢?

  • 写回答

1条回答 默认 最新

  • 騒周 2024-01-02 11:45
    关注

    import ldap

    连接LDAP服务器

    ldap_server = "ldap://your_ldap_server"
    ldap_user = "your_ldap_user"
    ldap_password = "your_ldap_password"

    conn = ldap.initialize(ldap_server)
    conn.simple_bind_s(ldap_user, ldap_password)

    查询用户信息

    base_dn = "your_base_dn"
    search_filter = "(uid=user_id)"
    attributes = ["cn", "mail"]

    result = conn.search_s(base_dn, ldap.SCOPE_SUBTREE, search_filter, attributes)
    user_info = result[0][1]

    打印用户信息

    print("用户名: ", user_info["cn"][0].decode())
    print("邮箱: ", user_info["mail"][0].decode())

    关闭连接

    conn.unbind()

    请注意替换示例代码中的以下参数:

    your_ldap_server:LDAP服务器地址
    your_ldap_user:LDAP管理员用户名
    your_ldap_password:LDAP管理员密码
    your_base_dn:LDAP基础DN
    user_id:要查询的用户ID
    这段代码首先连接到LDAP服务器,然后使用管理员账号和密码进行身份验证。接下来,它使用给定的用户ID查询用户信息,并打印用户名和邮箱。最后,关闭LDAP连接。12

    评论

报告相同问题?

悬赏问题

  • ¥30 Matlab打开默认名称带有/的光谱数据
  • ¥50 easyExcel模板 动态单元格合并列
  • ¥15 res.rows如何取值使用
  • ¥15 在odoo17开发环境中,怎么实现库存管理系统,或独立模块设计与AGV小车对接?开发方面应如何设计和开发?请详细解释MES或WMS在与AGV小车对接时需完成的设计和开发
  • ¥15 CSP算法实现EEG特征提取,哪一步错了?
  • ¥15 游戏盾如何溯源服务器真实ip?需要30个字。后面的字是凑数的
  • ¥15 vue3前端取消收藏的不会引用collectId
  • ¥15 delphi7 HMAC_SHA256方式加密
  • ¥15 关于#qt#的问题:我想实现qcustomplot完成坐标轴
  • ¥15 下列c语言代码为何输出了多余的空格