Heim  >  Artikel  >  Web-Frontend  >  Problembehandlung bei AngularJs-Benutzeranmeldung

Problembehandlung bei AngularJs-Benutzeranmeldung

小云云
小云云Original
2018-01-02 10:45:201661Durchsuche

Dieser Artikel stellt hauptsächlich die Behandlung von AngularJs-Benutzeranmeldeproblemen im Detail vor, einschließlich der Interaktion und Überprüfung sowie der Blockierung der FQ-Verarbeitung. Ich hoffe, dass er allen helfen kann.

1. Statische Seitenerstellung und ng-Formularüberprüfungsimplementierung:


<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. Definieren Sie den Controller für die Benutzeranmeldung. Verwenden Sie im Controller http Dienst zur Verwaltung der Anmeldeschnittstelle:


$http({
    url:G.apiUrl_dl+&#39;loginByPhone&#39;,
    method:&#39;post&#39;,
    data:{
     &#39;phone&#39;:loginName,
     &#39;pwd&#39;:pwd
    },
    headers:{&#39;Content-Type&#39;:&#39;application/x-www-form-urlencoded&#39;},
    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 Wenn die Daten des Benutzers nach erfolgreicher Anmeldung in einem Cookie oder einer Sitzung gespeichert werden, verwenden Sie den Dienst $state, um zu springen die angegebene Seite:


// 登录成功
    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(&#39;index&#39;);
    }else{
     // 登录失败的弹框提示
     $(&#39;#loginAction&#39;).modal(&#39;show&#39;);
    }

4 Der nächste Schritt besteht darin, zu verhindern, dass Benutzer die Anmeldeseite durch andere Methoden überspringen (z. B. durch direkte Eingabe der Adresse in Adressleiste zum Aufrufen der Seite), um FQ-Vorgang zu verhindern:

Ich habe den Vorgang dieser Methode in die Ausführungsmethode eingefügt, die wie zuvor erwähnt jedes Mal vor dem Aufrufen einer Seite überprüft wird ob der Benutzer rechtmäßig angemeldet ist. Nach der Anmeldung lassen wir ihn zur Anmeldeseite springen


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

Verwandte Empfehlungen:

Beispielerklärung der WeChat-Applet-Erfassung. Mobiltelefonnummer autorisierter Benutzer-Anmeldefunktion

Detaillierte Erläuterung, wie JavaScript Cookies betreibt, um Beispiele für Benutzeranmeldecodes zu implementieren

Objektorientierte PHP-Benutzeranmeldungsauthentifizierung

Das obige ist der detaillierte Inhalt vonProblembehandlung bei AngularJs-Benutzeranmeldung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn