kaystrobach / password
在此处添加描述
2.1.0
2022-09-12 18:24 UTC
Requires
- neos/flow: ~4.3 || ~5.0 || ~6.0 || ~7.0
- neos/party: *
This package is auto-updated.
Last update: 2024-09-13 14:11:21 UTC
README
neos/flow
框架 4.x 版本的密码验证包。计划为 flow 5.x 更新。
模板中的包含
验证器需要两个字段,字段名称与控制器参数附加 [0]
和 [1]
。
<div class="form-group">
<label for="newPassword" class="col-sm-4 control-label">neues Passwort</label>
<div class="col-sm-4">
<div class="input-group passwordfield">
<f:form.password id="newPassword" name="newPassword[0]" class="form-control" />
<span class="input-group-addon passwordDisplayArea" style="display: none;" data-behaviour="clipboard"></span>
<span class="input-group-btn">
<button class="btn btn-default" type="button" title="Passwort generieren">
<span class="glyphicon glyphicon-random"></span>
</button>
</span>
</div>
</div>
</div>
<div class="form-group">
<label for="newPasswordDuplicate" class="col-sm-4 control-label">neues Passwort bestätigen</label>
<div class="col-sm-4">
<f:form.password name="newPassword[1]" class="form-control passwordfield-duplicate" id="newPasswordDuplicate" />
<p class="help-block">
Wird nur gespeichert, wenn beide gleich sind und mindestens 6 Zeichen lang.
</p>
</div>
</div>
控制器
构建一个动作控制器并添加一个更改密码的操作。
/**
* @Flow\Inject()
* @var HashService
*/
protected $hashService;
/**
* @Flow\Inject()
* @var AccountRepository
*/
protected $accountRepository;
/**
* @param array $newPassword
* @throws StopActionException
*
* @Flow\Validate(argumentName="newPassword", type="KayStrobach\Password\Validation\Validator\PasswordValidator", options={"minimumChars":6, "accountIdentifierNotContained":1, "partyNameNotContained":1})
*/
public function changePasswordAction($newPassword) {
$account->setCredentialsSource($this->hashService->hashPassword($plainPassword, 'default'));
if($this->persistenceManager->isNewObject($account)) {
$this->accountRepository->add($account);
} else {
$this->accountRepository->update($account);
}
$this->addFlashMessage('Password changed');
$this->redirect('index');
}