ここの情報は古いです。ご理解頂いた上でお取り扱いください。

source: OpenPNE/branches/stable-2.8.x/webapp/modules/ktai/do/o_easy_login.php @ 6999

Last change on this file since 6999 was 6999, checked in by ebihara, 12 years ago

#1506:ktai_do_o_loginのリダイレクト処理で、別モジュールにリダイレクトする際にもktaiモジュールのdefault_pageを見て遷移してしまうことがあったのを修正

File size: 2.7 KB
Line 
1<?php
2/**
3 * @copyright 2005-2007 OpenPNE Project
4 * @license   http://www.php.net/license/3_01.txt PHP License 3.01
5 */
6
7require_once 'OpenPNE/KtaiID.php';
8
9class ktai_do_o_easy_login extends OpenPNE_Action
10{
11    var $_auth;
12   
13    function isSecure()
14    {
15        return false;
16    }
17
18    function execute($requests)
19    {
20        if (!$c_member_id = db_member_c_member_id4easy_access_id(OpenPNE_KtaiID::getID())) {
21            // 認証エラー
22            $p = array('msg' => 14, 'kad' => t_encrypt($requests['ktai_address']), 'login_params' => $requests['login_params']);
23            openpne_redirect('ktai', 'page_o_login', $p);
24        }
25
26        $c_member = db_member_c_member4c_member_id($c_member_id, true);
27
28        @session_name('OpenPNEktai');
29        @session_start();
30        @session_regenerate_id();
31       
32        $auth_config = get_auth_config();
33        $auth_config['options']['advancedsecurity'] = false;
34        $auth = new OpenPNE_Auth($auth_config['storage'], $auth_config['options'],true);
35        $this->_auth =& $auth;
36        $auth->setExpire($GLOBALS['OpenPNE']['ktai']['session_lifetime']);
37        $auth->setIdle($GLOBALS['OpenPNE']['ktai']['session_idletime']);
38       
39        if (LOGIN_CHECK_ENABLE) {
40            // 不正ログインチェック
41            include_once 'OpenPNE/LoginChecker.php';
42            $options = array(
43                'check_num'   => LOGIN_CHECK_NUM,
44                'check_time'  => LOGIN_CHECK_TIME,
45                'reject_time' => LOGIN_REJECT_TIME,
46            );
47            $lc = new OpenPNE_LoginChecker($options);
48            if ($lc->is_rejected()) {
49                // 認証エラー
50                $lc->fail_login();
51                $p = array('msg' => '0', 'login_params' => $requests['login_params']);
52                openpne_redirect('ktai', 'page_o_login', $p);
53            }
54        } 
55        $auth->auth =& $auth->factory(true);
56        $username = db_member_username4c_member_id($c_member_id, true);
57        if (!IS_SLAVEPNE) {
58           $username = t_encrypt($username);
59        }
60        $auth->auth->setAuth($username);
61        $auth->auth->setAuthData('OPENPNE_URL', OPENPNE_URL);
62
63        // ログイン後のリダイレクト先を決定する
64        $a = '';
65        $m = 'ktai';
66        $p = array();
67
68        if ($requests['login_params']) {
69            parse_str($requests['login_params'], $p);
70        }
71
72        if (!empty($p['a']) {
73            $a = $p['a'];
74        }
75
76        if (!empty($p['m'])) {
77            $m = $p['m'];
78        }
79
80        if ($m == 'ktai' && $a == 'page_o_login') {
81            $a = '';
82        }
83
84        $_SESSION['c_member_id'] = $c_member_id;
85        $p['ksid'] = session_id();
86
87        openpne_redirect($m, $a, $p);
88    }
89}
90
91?>
Note: See TracBrowser for help on using the repository browser.