Ограничение доступа к приложению Azure Static Webb для пользователей, не прошедших проверку подлинности
Я пытаюсь ограничить доступ к определенным страницам моего приложения только для пользователей, прошедших проверку подлинности. Однако, если анонимный пользователь щелкает страницу в первый раз, она загружается, и после обновления пользователь получает ошибку 401.
Вот мой реактивный маршрутизатор
<Switch>
<Route path='/' exact component={Dashboard} />
<Route path='/records' component={Records} />
<Route path='/livecam' component={LiveCamera} />
<Route path='/debug' component={Debug} />
<Route path='/settings' component={Settings} />
</Switch>
И мои маршруты статического веб-приложения Azure:
{
"routes": [
{
"route": "/records*",
"allowedRoles": ["authenticated"]
},
{
"route": "/livecam*",
"allowedRoles": ["authenticated"]
},
{
"route": "/settings",
"allowedRoles": ["admin"]
}
],
"navigationFallback": {
"rewrite": "/index.html",
"exclude": ["/assets/*.{png,jpg,jpeg,gif,bmp}", "/static/css/*"]
},
"mimeTypes": {
".json": "text/json"
},
"responseOverrides": {
"400": {
"rewrite": "/invalid-invitation-error.html"
}
}
}
Спасибо!
1 ответ
Я нашел решение. Для принудительной маршрутизации на стороне сервера необходимо добавить параметр forceRefresh к реагирующему маршрутизатору.
<BrowserRouter forceRefresh={true}>