cookies - Yii2 Advanced - Share session between frontend and mainsite (duplicate of frontend for www) -


i have custom members system have made: yii2 members system. can refer full details, or install can work question.

i have frontend , backend yii2 provides, few modifications separate sessions/cookies backend works admin model , pulls admin table. similar old traditional member systems.

mainsite clone of frontend , it's role main website. when go www.site.com or site.com.

here 3 apps , example domains:

  • mainsite = www.site.com or site.com
  • frontend = users.site.com
  • backend = admin.site.com

when user logs in (users.site.com/site/login) , go homepage (mainsite @ www.site.com) want know logged in , show username. how frontend operates default advanced app.

from have far, login , head mainsite , reads an internal server error occurred.. doesn't yii error, server error? when in yii logs under runtime, mentions access control:

2017-04-14 13:38:25 [127.0.0.1][1][-][error][yii\web\httpexception:403] exception 'yii\web\forbiddenhttpexception' message 'you not allowed perform action.' in /applications/xampp/xamppfiles/htdocs/yii2-members-system/vendor/yiisoft/yii2/filters/accesscontrol.php:151 

here of configs.

mainsite/config/main.php

'components' => [     'assetmanager' => [         'bundles' => false,     ],     'request' => [         'csrfparam' => '_csrf-mainsite',     ],     'user' => [         'class' => 'common\components\user',         'identityclass' => 'common\models\user',         'enableautologin' => true,         'identitycookie' => [             'name' => '_identity-frontend',             'httponly' => true,             'domain' => '.yii2-members-system.dev',         ],     ],     'session' => [         'name' => 'advanced-frontend',         'cookieparams' => [             'domain' => '.yii2-members-system.dev',             'httponly' => true,         ],     ],     'urlmanager' => [         'enableprettyurl' => true,         'showscriptname' => false,         'rules' => [         ],     ], ], 

frontend/config/main.php

'components' => [     'assetmanager' => [         'bundles' => false,     ],     'request' => [         'csrfparam' => '_csrf-frontend',     ],     'user' => [         'class' => 'common\components\user',         'identityclass' => 'common\models\user',         'enableautologin' => true,         'identitycookie' => [             'name' => '_identity-frontend',             'httponly' => true,             'domain' => '.yii2-members-system.dev',         ],     ],     'session' => [         'name' => 'advanced-frontend',         'cookieparams' => [             'domain' => '.yii2-members-system.dev',             'httponly' => true,         ],     ],     'urlmanager' => [         'enableprettyurl' => true,         'showscriptname' => false,         'rules' => [         ],     ], ], 

vhosts

<virtualhost *:80>     servername yii2-members-system.dev     serveralias yii2-members-system.dev     documentroot "/applications/xampp/xamppfiles/htdocs/yii2-members-system/mainsite/web"     errorlog "logs/mainsite.yii2-members-system.dev-error_log"     customlog "logs/mainsite.yii2-members-system.dev-access_log" common </virtualhost>  <virtualhost *:80>     servername yii2-members-system.dev     serveralias admin.yii2-members-system.dev     documentroot "/applications/xampp/xamppfiles/htdocs/yii2-members-system/backend/web"     errorlog "logs/admin.yii2-members-system.dev-error_log"     customlog "logs/admin.yii2-members-system.dev-access_log" common </virtualhost>  <virtualhost *:80>     servername yii2-members-system.dev     serveralias users.yii2-members-system.dev     documentroot "/applications/xampp/xamppfiles/htdocs/yii2-members-system/frontend/web"     errorlog "logs/users.yii2-members-system.dev-error_log"     customlog "logs/users.yii2-members-system.dev-access_log" common </virtualhost> 

you can share session between subdomain or main domain. per yii configuration, need configure below in frontend/config/main.php , mainsite/config/main.php.

'request' => [     'csrfparam' => '_csrf-app', ], 'user' => [     'identityclass' => 'common\models\user',     'enableautologin' => true,     'identitycookie' => ['name' => '_identity', 'httponly' => true, 'domain'=>'.yii2-members-system.dev', 'path'=>'/'], ], 'session' => [     'name' => 'sessionname',     'savepath'=> __dir__ . '/../../sessiontmp' ], 

in configuration, session name, session save path, identity cookie path , domain should match other subdomain share session between 2 yii app.

so create 1 tmp folder inside app , point session save path. above.

i hope, help.


Comments

Popular posts from this blog

php - Permission denied. Laravel linux server -

python - Pandas two dataframes multiplication? -