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

    评论

报告相同问题?

悬赏问题

  • ¥18 深度学习tensorflow1,ssdv1,coco数据集训练一个模型
  • ¥100 关于注册表摄像头和麦克风的问题
  • ¥30 代码本地运行正常,但是TOMCAT部署时闪退
  • ¥15 关于#python#的问题
  • ¥15 主机可以ping通路由器但是连不上网怎么办
  • ¥15 数据库一张以时间排好序的表中,找出多次相邻的那些行
  • ¥50 关于DynamoRIO处理多线程程序时候的问题
  • ¥15 kubeadm部署k8s出错
  • ¥15 Abaqus打不开cae文件怎么办?
  • ¥15 小程序准备上线,软件开发公司需要提供哪些资料给甲方