Yii1.x单点登录

2014年9月28日 · 63 字 · 1 分钟

背景

Web迅速发展的今天,往往一个产品拥有很多个子站点,SSO技术显得很重要。Yii作为我常用的框架,发现Yii的SSO配置其实是非常简单的。

代码

在所有站点中直接打开 protected/config/main.php 在 components 中加入以下代码,并且把protected/runtime/state.bin文件复制到各个具体的子站点中就可以实现SSO了!

'user' => array(
            'identityCookie' => array(
                'domain' => '.ddhigh.com',
                'path' => '/'
            ),
            // enable cookie-based authentication
            'allowAutoLogin' => true,
            'stateKeyPrefix' => 'ddhigh',
            'loginUrl' => array('user/login')
        ),
        'session' => array(
            'cookieParams' => array(
                'domain' => '.ddhigh.com',
                'lifetime' => 0,
                'timeout' => 3600
            ),
        ),
        'statePersister' => array(
            'class' => 'CStatePersister',
            'stateFile' => './protected/runtime/state.bin'
        ),

推荐所有的站点全部放在一个域名中进行操作~