Ограничение доступа к приложению 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}>
Другие вопросы по тегам