首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >烧瓶ldap3登录问题

烧瓶ldap3登录问题
EN

Stack Overflow用户
提问于 2019-03-05 08:17:59
回答 1查看 884关注 0票数 0

我使用的是Ldap3和。

当我尝试登录时,我收到了错误:

TypeError:类型为“Attribute”的对象不能被JSON序列化

以下是代码:

代码语言:javascript
复制
def ADlogin(username,password):
    server = ldap3.Server(server_uri, get_info=ldap3.ALL)
    connection = ldap3.Connection(server, user=username+base, password=password)
    if not connection.bind():
        return False
    else:
        connection.search(username+base, '(objectClass=*)', attributes=ldap3.ALL_ATTRIBUTES)
        session['username'] = username
        session['uid'] = connection.entries[0].uid
        connection.search('dc=example,dc=com', '(objectclass=posixGroup)',
                          attributes=[ALL_ATTRIBUTES, ALL_OPERATIONAL_ATTRIBUTES])
        for entry in connection.entries:
            if entry.cn == 'service':
                for user in entry.memberUid:
                    if user == session['uid']:
                        session['group_service'] = True
                        break
            elif entry.cn == 'management':
                for user in entry.memberUid:
                    if user == session['uid']:
                        session['group_management'] = True
                        break
        return True

和登录页:

代码语言:javascript
复制
@app.route("/login", methods=['GET', 'POST'])
def login():
    if request.method == "POST" and request.form['submit'] == "Sign in":
        username = request.form['username']
        password = request.form['password']
        if utils.isEmpty(username) or utils.isEmpty(password):
            return render_template('login.html', status="Please Enter All Fields")

        else:
            status = ADConnect.ADlogin(username,password)
            if status:
                #return redirect(url_for('dashboard'))
                return "Success"
            else:
                return render_template('login.html', status=status)



    else:
        return render_template('login.html')

代码在python控制台中运行良好,但是当我用烧瓶尝试它时,它显示了错误,我无法找到问题的解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-03-12 11:32:53

找出错误的原因:

下面是行或错误:会话‘’uid‘= connection.entries.uid

connection.entries.uid是类型属性,我试图在会话中设置它,导致错误。

我将属性类型更改为string,它现在起作用了!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54998220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档