Я создал ядро asp.net для веб-сайта с машинописным шрифтом + реаги + веб-пак в Visual Studio 2017.
Я создал 1 просмотр mvc Home-> Index, который содержит только основной div для рендеринга реагировать.Затем еще 2 компонента (Login & Dashboard).Оба будут отображены внутри Home-> Index mvc view.
Я создал один компонент Private Route - для ограничения Dashboard без входа в систему.Как показано ниже:
export const PrivateRoute = ({ component: Component, ...rest }) => (
<Route {...rest} render={props => (
localStorage.getItem('user')
?
<Component {...props} />
: <Redirect to={{ pathname: '/login', state: { from: props.location } }} />
)} />
)
и В основном компоненте, который я написал, как показано ниже
export class App extends React.Component<{}, {}> {
constructor(props) {
super(props);
}
public render() {
return (
<div >
<BaseRoute exact path="/" component={Login} />
<Route exact path="/login" component={Login} />
<Layout>
<PrivateRoute exact path="/dashboard" component={Dashboard} />
</Layout>
</div>
);
}
}
Он работает правильно, как после входа в систему, я сохраняю свой объект в локальном хранилище и всякий раз, когда я пытаюсь перенаправить наПанель инструментов, она проверяет локальное хранилище и перенаправляет меня обратно на страницу входа.
Но главная проблема, скажем, в том, что я вошел в систему сегодня и сохранил этот объект в локальном хранилище, а затем закрываю окно браузера (или пытаюсь открыть веб-сайт на следующий день) и снова пытаюсь перенаправить наприборная панель должна попросить меня войти в систему, а не прямо на приборную панель.
Так что я думаю, что мне нужно управлять сессией на стороне сервера основного сайта asp.net. Я не уверен, но что я могу сделать ??