Я делаю угловое приложение 7, где я делаю перенаправление через маршрутизатор и аутентификацию.
HTML:
https://stackblitz.com/edit/angular-6-jwt-authentication-example-tsu2sm?file=app%2Fhome%2Fhome.component.html
<p *ngIf="showUserRoute">
<a [routerLink]="['/user']">User</a>
</p>
<p><a [routerLink]="['/login']">Logout</a></p>
Здесь вы можете увидеть ngIf ,
<p *ngIf="showUserRoute">
<a [routerLink]="['/user']">User</a>
</p>
, для которого ts:
https://stackblitz.com/edit/angular-6-jwt-authentication-example-tsu2sm?file=app%2Fhome%2Fhome.component.ts
ngOnInit() {
let user = JSON.parse(localStorage.getItem('currentUser'));
console.log(user.token);
if(user.token == "fake-jwt-token") {
this.showUserRoute = false;
}
}
Здесь, если user.token == "fake-jwt-token"
, тогда я не должен позволять пользователю переходить на user
url ..
Теперь он скрывает URL , никаких проблем по этому поводу..
Проблема даже в том случае, если <a [routerLink]="['/user']">User</a>
хранится в скрытом виде, пользователь может изменить URL-адрес вручную, поэтому, если он делает URL-адрес похожим,
Добавлениенаконец, пользователь в URL
https://angular-6-jwt-authentication-example-tsu2sm.stackblitz.io/user
, он перенаправляет на страницу пользователя.
Мое требование: если пользователь изменяет URL-адрес, как указано выше, он не должен быть разрешени перенаправление должно произойти в предыдущее состояние ..
Вы можете изучить рабочий стек стека https://stackblitz.com/edit/angular-6-jwt-authentication-example-tsu2sm
и вы можете получить то, что мне нужно ..
В стеке, если вы даетеe https://angular-6-jwt-authentication-example-tsu2sm.stackblitz.io/user
тогда он будет перенаправлен на пользовательский компонент, но если на нашей домашней странице есть условие, если вошедший в систему пользователь имеет "fake-jwt-token"
, то пользователю строго не разрешен доступ к user
url и компоненту.
Редактировать
Я не прошу запретить вход в систему , пользователь может войти в систему и может быть доставлен на домашний компонент, но если у пользователя есть fake-jwt-token
затем ему не разрешили перейти на /user
URL-адрес в одиночку, но он может получить доступ к другой странице ..
Пользователь, имеющий fake-jwt-token
, может войти в систему успешно, но его необходимо защитить от входа в https://angular-6-jwt-authentication-example-tsu2sm.stackblitz.io/user
Шаг 1:
Пользователь может войти в систему, используя test и test в качестве имени пользователя и пароля
Шаг 2:
Послепредоставив учетные данные, пользователь будет перенаправлен на домашний компонент.
Шаг 3: Теперь вошедший в систему пользователь имеет fake-jwt-token
, поэтому после входа в систему ему запрещается доступ к компоненту user
, поэтому, если ондает URL-адрес, как это из домашнего компонента https://angular-6-jwt-authentication-example-tsu2sm.stackblitz.io/user
, а затем перенаправить обратно на домашний комponent ..
Пожалуйста, помогите мне заблокировать ввод пользователя в URL маршрута пользователя с помощью "fake-jwt-token" ..