2013-09-29 10 views
6

私はちょうどMEANスタック(MongoDB、Express.js、AngularJS、Node.js)をインストールし、サンプルプログラム(mean.ioにあるように)を開いて、ログインしてブログ "テスト用などのための「記事」を作成します。Angular/MEAN.ioのルーティングセキュリティの欠陥?

とにかく、私は '#!'を削除しました。 URLから取得し、ユーザーと記事モデル全体をデータベースに出力しました。これは、Angularを経由してルーティングを停止し、代わりにJSON REST APIであるExpressルートを使用するようにしているように縫い目をつけます。これは、MEANスタックパッケージ、Angular全体、または単なる開発環境設定の欠陥ですか?私は、このような巨大な欠陥でリリースされるだろうと想像することはできませんが、多分私はちょうど何か..

Replicateable手順欠けている:http://mean.io

  • 後藤あなたの地元の

    • フォローインストール手順を!/ URLから、あなたがして、ユーザーアカウント であなたのログインのJSONオブジェクトを参照してくださいブラウザでアプリやアカウントを作成し、記事
    • ビュー作成したばかりの記事アイテムを作成し、#を削除
    • ログインハッシュされたパスワードと塩だけでなく、記事 オブジェクトを含む。
  • +1

    これは、生産準備システムではなく、一例です。*「マングースやパスポートなどの便利なモジュールを事前にバンドルして設定した、MEANベースのWebアプリケーションの開発を迅速かつ組織的に開始できるように設計されています」* – WiredPrairie

    +1

    彼らのgh issuessページとその今修正されたコメント – ShrekOverflow

    答えて

    6

    あなたが言うように、#!ルーティングがサーバーによって処理されます。次に、ノードAPIは応答内でユーザーオブジェクトをダンプします。

    問題はAngularから完全に独立しています - アプリケーションは/ルートのNodeによってのみサービスされます。 Angularはハッシュ値を使用して正しいページを表示します。

    これはおそらく、MEANが提供する例の単なる問題です。クイックデモではなく、コードの構造とセットアップを指すベストプラクティスについて話をするとき、アプリケーション自体は安全ではありません。

    例の上に構築され、セキュリティ上の問題を修正しない人がいるかもしれないので、それらについて尋ねることができます。

    8

    これはちょうどアプリの設定です。あなたからroutes.jsを変更する場合:

    app.get('/articles', auth.requiresLogin, articles.all); 
    

    app.get('/articles', articles.all); 
    

    あなたがしようとURLを打つ場合は、/記事は、直接あなたのメッセージが表示されます:

    は、「ユーザーが許可されていません」

    JSONの代わりにすべての記事を表示します。

    関連する問題