>  기사  >  백엔드 개발  >  Yii2 모듈에 인증코드를 추가하는 방법에 대한 자세한 설명

Yii2 모듈에 인증코드를 추가하는 방법에 대한 자세한 설명

怪我咯
怪我咯원래의
2017-07-04 14:06:111405검색

이 글에서는 주로 Yii2 모듈에 인증 코드를 추가하는 방법을 소개합니다. 편집자가 꽤 좋다고 생각해서 지금 공유하고 참고용으로 올려드리겠습니다. 에디터를 따라가서 살펴봅시다

최근 Yii2의 검증 코드 부분을 가지고 놀았습니다. 일반적인 로직은 풀 수 있고 온라인 예제에서는 문제가 없습니다. 가장 문제가 되는 부분은 모듈에서 사용될 때입니다. . 더 읽기 전에 일반적인 상황에서 사용하는 방법을 살펴보세요.

컨트롤러 부분의 코드는 인터넷에 있는 코드와 유사합니다.

public function actions()
{
  return [
    'captcha' => [
      'class' => 'yii\captcha\CaptchaAction',
      'fixedVerifyCode' => null,
      'backColor' => 0x000000, //背景颜色
      'maxLength' => 6, //最大显示个数
      'minLength' => 5, //最少显示个数
      'padding' => 5, //间距
      'height' => 40, //高度
      'width' => 130, //宽度
      'foreColor' => 0xffffff, //字体颜色
      'offset' => 4, //设置字符偏移量 有效果
    ],
  ];
}

모델 부분의 코드 [여기서 주의할 점]

public function rules()
{
  return [
    ['username', 'required', 'message' => '登录账号不能为空'],
    ['password', 'required', 'message' => '登录密码不能为空'],
    ['verifyCode', 'required', 'message' => '验证码不能为空'],
    ['verifyCode', 'captcha', 'captchaAction' => 'admin/default/captcha', 'message' => '验证码输入错误'],
    ['rememberMe', 'boolean'],
    ['password', 'validatePassword'],
  ];
}

규칙의 verifyCode에는 다음에 해당하는 값을 추가해야 합니다. captchaAction, 그렇지 않으면 인증코드 인증이 나타날 것입니다. 통과하지 못하고, 인증코드 번호가 변경되지 않습니다. 이유는 코드의

보기 부분이 사이트/captcha [Due]의 기본 사용으로 인해 발생하기 때문일 것입니다. php와 html의 혼합 레이아웃에 페이지 스타일의 혼란스러운 레이아웃을 참을 수 없으므로 매개변수 구성 부분을 최대한 빼보세요】

$captchaConfig = [
  'name' => 'captchaimg',
  'captchaAction' => ['/admin/default/captcha'],
  &#39;template&#39; => &#39;<p class="form-group"><p>{image}</p></p>&#39;,
  &#39;imageOptions&#39; => [
    &#39;id&#39; => &#39;captchaimg&#39;,
    &#39;title&#39; => &#39;换一个&#39;,
    &#39;alt&#39; => &#39;换一个&#39;,
    &#39;style&#39; => &#39;cursor:pointer;margin-left:25px;&#39;,
  ],
];
<?=Captcha::widget($captchaConfig);?>

위 내용은 Yii2 모듈에 인증코드를 추가하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.