簡體   English   中英

保護React Router 4路由

[英]Securing react router 4 routes

使用最新版本的React Router開始了一個新項目。

我有使用Auth組件包裝的路由。

    <Route exact path="/" render={ (props) => (
      <Auth loggedIn={this.state.loggedIn}>
        <Dashboard {...props} deletePage={this.deletePage} pages={this.state.pages} />
      </Auth>
    )} />

然后,應用容器將登錄狀態發送到Auth組件:

class Auth extends Component {
  constructor(props) {
    super(props)
    console.log(this.props.loggedIn)
  }

  componentDidMount(){
    return !this.props.loggedIn ? window.location.replace('/admin/login') : null
  }

  render() {
    return (
      <div>
       {this.props.loggedIn ? this.props.children : null}
      </div>
    )
  }
}

但是,在React Dev工具中,我可以輕松地將狀態更改為true並擁有對該站點的完全訪問權限。 處理此問題的最佳方法是什么?

嗯,安全性不是客戶關心的問題,這就是數據層應該做的事情。

即使有人打開控制台集isLoggedIn = true ,服務器也不應允許他做任何事情。

順便說一句,(在我看來)一種好方法是提供異步服務器端資源授權: 詢問服務器當前用戶能夠執行的操作...

React Router具有中間件,因此,這真的很容易實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM