когда я нажимаю на кнопку входа, это не войти должным образом - PullRequest
0 голосов
/ 14 октября 2019

эту часть проекта я разрабатываю в asp.net web api и angular 7. Проблема, с которой я сталкиваюсь, заключается в том, что, когда я нажимаю на кнопку входа в систему для входа в систему, она показывает мне ошибку, которую я пропущу в разделе ошибок. Я делюсь html-файлом входа в систему .ts файл, а также функция входа в asp.net ... ошибка, с которой я сталкиваюсь, находится в файле login.ts в строке this.router.navigateByUrl ('login') или в той же строкено в функции onSubmit. я попытался это изменить на «/ app / user / login». пользователь - еще один компонент, в котором есть компонент входа.

 <form class="modal-dialog" #form='ngForm'   autocomplete="off" (submit)="onSubmit(form)" >
            <div class="modal-body">
                    <div class="form-group">
                            <label>MobileNo</label>
                            <input class="form-control" #PhoneNumber="ngModel" name="PhoneNumber" [(ngModel)]="formModel.PhoneNumber" required  placeholder="Mobile No">
                        </div>

                        <div class="form-group">
                                <label>Password</label>
                                <input type="password" class="form-control" #Password="ngModel" name="Password" [(ngModel)]="formModel.Password" required  placeholder="password">

            <div class="modal-footer">
              <button type="submit" class="btn btn-danger light-btn" data-dismiss="modal">Sign In</button>
            </div>
</form> 

модуль маршрутизации приложения .ts

const routes: Routes = [
  {path:'',redirectTo:'/app/home',pathMatch:'full'},

    {path: 'app/home',component: HomeComponent},

  {
    path: 'user', component: UserComponent,
    children: [
      { path: 'registration', component: RegistrationComponent },
      { path: 'login', component: LoginComponent }
    ]
  }
];

.tsфайл

export class LoginComponent implements OnInit { 
  formModel ={
    PhoneNumber :'',
    Password:''
  }
  constructor(private service: UserService, private router: Router, private toastr: ToastrService) { }

  ngOnInit() {
    this.router.navigateByUrl('login');
  }
  onSubmit(form: NgForm) {
    this.service.login(form.value).subscribe(
      (res: any) => {  
        this.router.navigateByUrl('login');
      },
      err => {
        if (err.status == 400)
          this.toastr.error('Incorrect MobileNO or password.', 'Authentication failed.');
        else
          console.log(err);
      });}}

method of login in services.ts 
login(formData) {
    return this.http.post(this.BaseURI + '/ApplicationUser/Login', formData);
  }




web api function for login

        [HttpPost]
        [Route("Login")]
        //POST : /api/ApplicationUser/Login
        public async Task<IActionResult> Login(LoginModel model)
        {
            var user = await _userManager.FindByNameAsync(model.PhoneNumber);
            if (user != null && await _userManager.CheckPasswordAsync(user, model.Password))
            {
                var tokenDescriptor = new SecurityTokenDescriptor
                {
                    Subject = new ClaimsIdentity(new Claim[]
                    {
                        new Claim("UserID",user.Id.ToString())
                    }),
                    Expires = DateTime.UtcNow.AddDays(1),
                    SigningCredentials = new SigningCredentials(new SymmetricSecurityKey(Encoding.UTF8.GetBytes(_appSettings.JWT_Secret)), SecurityAlgorithms.HmacSha256Signature)
                };
                var tokenHandler = new JwtSecurityTokenHandler();
                var securityToken = tokenHandler.CreateToken(tokenDescriptor);
                var token = tokenHandler.WriteToken(securityToken);
                return Ok(new { token });
            }
            else
                return BadRequest(new { message = "Mobile NO or password is incorrect." });
        }
    }

core.js:6014 ERROR Error: Uncaught (in promise): Error: Cannot match any routes. URL Segment: 'login'
Error: Cannot match any routes. URL Segment: 'login'
 at ApplyRedirects.noMatchError (router.js:4294)............
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...