zoukankan      html  css  js  c++  java
  • Odoo SSO 单点登录

    很多公司会有内部单点登录系统,采用Odoo系统的公司可能就有需要将Odoo接入公司内部的单点登录系统。

    实现的思路很简单,由于每个公司的系统不一样,代码仅作示例说明。

    首先,重写Odoo登录界面:

    <template id="qunar_qsso.login" name="QSSO" inherit_id="web.login">
                <xpath expr="//form[@role='form']" position="replace">
    
                        <t t-call="web.database_select"/>
    
                        <!-- 添加一个登录按钮,接入特定sso登录接口-->
                        ........
                        <p/>
    
                        <p class="alert alert-danger" t-if="error">
                            <t t-esc="error"/>
                        </p>
                        <p class="alert alert-success" t-if="message">
                            <t t-esc="message"/>
                        </p>
    
                        <input type="hidden" name="redirect" t-att-value="redirect"/>
    
                </xpath>
            </template>

    然后, 重写验证的controller

    @http.route('/sso',type="http",auth='public',website=True)
    def qsso(self,*args,**kargs):
            qcontext = request.params.copy()
            if qcontext.get('token'):
                #check if the token is valid.
                #自己的验证方式和逻辑
                
                url ='/web'
                request.params['login']=user
                request.params['password']=False
                return super(QSSO,self).web_login(*args,**kargs)

    界面示例

  • 相关阅读:
    II、Python HelloWorld
    初次比较正式的IT职场面试后几点对自己web开发的思考
    网页调用迅雷下载文件
    php PAC 安装
    php 大文件上传的实现
    正则表达式
    怎么看待php 面向对象思想
    IT职场初体验一
    php 发送邮件
    web的seo
  • 原文地址:https://www.cnblogs.com/kfx2007/p/4949969.html
Copyright © 2011-2022 走看看