>  기사  >  웹 프론트엔드  >  AngularJs 사용자 로그인 시 상호 작용 및 확인 단계에 대한 자세한 설명

AngularJs 사용자 로그인 시 상호 작용 및 확인 단계에 대한 자세한 설명

php中世界最好的语言
php中世界最好的语言원래의
2018-04-16 14:49:081415검색

이번에는 AngularJs사용자가 로그인할 때 상호 작용 및 확인 단계에 대해 자세히 설명하겠습니다. AngularJs 사용자가 로그인할 때 주의해야 할 노트는 무엇인지 살펴보겠습니다. 아래에.

1. 정적 페이지 구성 및 NG 양식양식 확인구현:

<p class="register-frame-all">
  <p class="register-frame">
   <p class="register-msg">
    <i></i>
    <form name="loginForm" ng-submit="loginAction()">
     <p class="form-group">
      <p class="input-group">
       <span class="input-group-addon register-user"></span>
       <input autocomplete="off" type="number" class="form-control" placeholder="请输入手机号" required ng-model="loginData.loginName" name="loginName">
      </p>
      <p class="input-group">
       <span class="input-group-addon register-pwd"></span>
       <input type="password" class="form-control" placeholder="请输入密码" required ng-model="loginData.pwd" name="pwd">
      </p>
      <button type="submit" class="btn btn-block btn-danger"
        ng-disabled="!( (loginForm.loginName.$valid) && (loginForm.pwd.$valid) )">登录</button>
      <em></em>
     </p>
    </form>
   </p>
   <p class="register-pic" ng-style="registerRnum"></p>
  </p>
 </p>

2. 사용자 로그인을 위한 controller를 정의하고 컨트롤러의 http 서비스를 사용하여 login 인터페이스:

$http({
    url:G.apiUrl_dl+'loginByPhone',
    method:'post',
    data:{
     'phone':loginName,
     'pwd':pwd
    },
    headers:{'Content-Type':'application/x-www-form-urlencoded'},
    transformRequest: function(obj) {
     var str = [];
     for(var p in obj){
      str.push(encodeURIComponent(p) + "=" + encodeURIComponent(obj[p]));
     }
     return str.join("&");
    }
   }).success(function(data){
    // 登录成功后的操作...18     19    });

를 처리합니다. 3. 로그인에 성공하면 사용자의 데이터를 쿠키나 세션에 저장하고 $state 서비스를 사용하여 지정된 페이지로 이동합니다:

// 登录成功
    if($scope.loginActionData.token){
     sessionStorage.setItem("token", $scope.loginActionData.token);
     sessionStorage.setItem("tsname", $scope.loginActionData.name);
     sessionStorage.setItem("rights", $scope.loginActionData.rights);
     sessionStorage.setItem("userId", $scope.loginActionData.userId);
     sessionStorage.setItem("departmentsId", $scope.loginActionData.departmentsId);
     sessionStorage.setItem("departmentsName", $scope.loginActionData.departmentsName);
     $state.go('index');
    }else{
     // 登录失败的弹框提示
     $('#loginAction').modal('show');
    }

4. 다음 단계는 사용자가 다른 방법(예: 페이지에 들어가기 위해 주소 표시줄에 주소를 직접 입력하는 등)을 통해 로그인 페이지를 건너뛰는 것을 방지하는 것입니다.

앞서 언급한 것처럼 컨트롤러가 먼저 실행하는 run 메소드에 이 메소드의 연산을 넣어두었습니다. 페이지에 들어가기 전에 매번 사용자가 합법적으로 로그인되어 있지 않은지 확인합니다. 로그인 페이지로 이동하세요

angular.module.run(['$rootScope','$state',function($rootScope,$state){
  $rootScope.$on('$stateChangeStart',function(event,toState){
   // 防止FQ
   if(!(sessionStorage.getItem("token")))$state.go('register');
  });
 }]);

이 기사의 사례를 읽으신 후 방법을 마스터하셨다고 생각합니다. 더 흥미로운 정보를 보려면 PHP 중국어 웹사이트의 다른 관련 기사를 주목하세요!

추천 도서:



위 내용은 AngularJs 사용자 로그인 시 상호 작용 및 확인 단계에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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