Coder Social home page Coder Social logo

yii2-start-users-module's People

Contributors

acardinale avatar jwcastillo avatar saochico avatar vova07 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

yii2-start-users-module's Issues

Ошибка при восстановлении

Может так задумано, но на мой взгляд должно выглядеть иначе.

В чем суть. Если пользователь забыл пароль, то он нажимает Вбивает email свой и ему приходит на почту ссылка для восстановления. В этой ссылке содержится token, который был в базе до этого. По дефолту срок годности токена составляет 4 часа. Если за это время пользователь не успел перейти по ссылке, то он больше не сможет восстановить пароль.
ПОЧЕМУ?
ОТВЕТ!
Новый токен генерится после того как пользователь ввел новый пароль.

controllers/frontend/GuestController.php

public function actionRecoveryConfirmation($token) { $model = new RecoveryConfirmationForm(['token' => $token]); if (!$model->isValidToken()) { Yii::$app->session->setFlash( 'danger', Module::t('users', 'FRONTEND_FLASH_FAIL_RECOVERY_CONFIRMATION_WITH_INVALID_KEY') ); return $this->goHome(); } if ($model->load(Yii::$app->request->post())) { if ($model->validate()) { if ($model->recovery()) {

models/frontend/RecoveryConfirmationForm.php

/** * Recover password. * * @return boolean true if password was successfully recovered */ public function recovery() { $model = $this->_user; if ($model !== null) { return $model->recovery($this->password); } return false; }

models/User.php

/** * Recover password. * * @param string $password New Password * * @return boolean true if password was successfully recovered */ public function recovery($password) { $this->setPassword($password); $this->generateToken(); return $this->save(false); }

В то время как при запросе нового пароля, recovery Токен не генерится

models/frontend/RecoveryForm.php

/** * Send a recovery password token. * * @return boolean true if recovery token was successfully sent */ public function recovery() { $this->_model = User::findByEmail($this->email, 'active'); if ($this->_model !== null) { return $this->send(); } return false; }

Я могу ошибаться, но, по-моему, происходит именно так.

Install users module

Добрый день!

Никак не получается подключить ваш модуль для работы с комментариями. Пробовал его установить при стандартом RBAC. Не получилось. Пробовал ставить ваш RBAC модуль - тоже не получилось. Где-то там среди комментариев было написано, что лучше использовать RBAC из этого модуля. С ним тоже что-то не так. Скорее всего, я что-то делаю неправильно.

Устанавливаю с помощью composer.
Прописываю в кофигурационном файле

'modules' => [
    'users' => [
        'class' => 'vova07\blogs\Module',
        'robotEmail' => '[email protected]', // Sender email. This email is required. From this address module will send all emails
        'robotName' => 'Robot' // Sender name
    ]
]

Кстати, в конфигурационный файл вроде нужно добавить

'controllerNamespace' => 'vova07\blogs\commands',

и указать, что это конфигурационный файл для консоли. Либо мне как новичку кажутся существенными эти уточнения.

Запускаю миграции. Всё ок.
Далее выполняю команду:

php yii users/rbac/add

И получаю ошибку:

user@computer:/var/www/grcc/atlant$ php yii users/rbac/add

Exception 'yii\base\UnknownPropertyException' with message 'Setting unknown property: vova07\blogs\Module::robotEmail'

in /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Component.php:197

Stack trace:
#0 /var/www/grcc/atlant/vendor/yiisoft/yii2/BaseYii.php(518): yii\base\Component->__set('robotEmail', 'no-reply@yii2-s...')
#1 /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Object.php(105): yii\BaseYii::configure(Object(vova07\blogs\Module), Array)
#2 /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Module.php(138): yii\base\Object->__construct(Array)
#3 /var/www/grcc/atlant/vendor/vova07/yii2-start-blogs-module/Module.php(86): yii\base\Module->__construct('users', Object(yii\console\Application), Array)
#4 [internal function]: vova07\blogs\Module->__construct('users', Object(yii\console\Application), Array)
#5 /var/www/grcc/atlant/vendor/yiisoft/yii2/di/Container.php(372): ReflectionClass->newInstanceArgs(Array)
#6 /var/www/grcc/atlant/vendor/yiisoft/yii2/di/Container.php(151): yii\di\Container->build('vova07\\blogs\\Mo...', Array, Array)
#7 /var/www/grcc/atlant/vendor/yiisoft/yii2/BaseYii.php(344): yii\di\Container->get('vova07\\blogs\\Mo...', Array, Array)
#8 /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Module.php(354): yii\BaseYii::createObject(Array, Array)
#9 /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Module.php(511): yii\base\Module->getModule('users')
#10 /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Module.php(449): yii\base\Module->createController('users/rbac/add')
#11 /var/www/grcc/atlant/vendor/yiisoft/yii2/console/Application.php(161): yii\base\Module->runAction('users/rbac/add', Array)
#12 /var/www/grcc/atlant/vendor/yiisoft/yii2/console/Application.php(137): yii\console\Application->runAction('users/rbac/add', Array)
#13 /var/www/grcc/atlant/vendor/yiisoft/yii2/base/Application.php(375): yii\console\Application->handleRequest(Object(yii\console\Request))
#14 /var/www/grcc/atlant/yii(23): yii\base\Application->run()
#15 {main}

Cannot install on yii 2.0 stable

Your requirements could not be resolved to an installable set of packages.

Problem 1
- vova07/yii2-start-blogs-module 0.1.0 requires vova07/yii2-fileapi-widget * -> satisfiable by vova07/yii2-fileapi-widget[0.1.0].
- vova07/yii2-start-blogs-module 0.2.0 requires vova07/yii2-fileapi-widget * -> satisfiable by vova07/yii2-fileapi-widget[0.1.0].
- vova07/yii2-fileapi-widget 0.1.0 requires rubaxa/fileapi * -> no matching package found.
- Installation request for vova07/yii2-start-blogs-module * -> satisfiable by vova07/yii2-start-blogs-module[0.1.0, 0.2.0].

Potential causes:

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.