2013-04-30 3 views
7

私は最近、自分のWebフレームワーク/アプリケーションスタックの権利を取得する方法について考えてきました。私は徐々にscalaと関数型プログラミング(PythonからCherryPyを使っています)に移りつつあります。だから、これは最も広くサポートされているフレームワークなので、Playに目を通すのは当然でした(今はTypesafeでも採用されています)。私がここで何かを逃している場合は、私を修正すること自由に感じる。PlayフレームワークとScalaを使った穏やかな(そしてステートレスな)Auth

遊びは実際にはステートレスWebアプリケーションの考え方を取り入れており、認証と承認の面で私の頭を包んでいるのは難しいことです。今ではいくつかのオンライン掘り出し(The definitive guide to form-based website authentication)の後、認証と認可は、バックエンド(JSON-RPCなど)の呼び出しごとに、古いセッションクッキーのアイデアから離れていく必要があるという結論に達しました。

今、今日の技術でこれを達成するにはどうすればよいでしょうか?およそ

そして、何:

それが証明して広まっているように私は、「シンプル」によるdigestauthについて考えたが、それは古いものとさび基本認証には、この同様の感触を持っています。

ありがとうございました!

答えて

0

私の現在のプロジェクトでこれを使っていますが、https://github.com/t2v/play20-authはうまくいきます。

+0

本当に安心しませんか?それは、プレーのための単なる修正のように、安全な独自の認証Cookieではないように見えます。 – AlessandroEmm

+0

@AlessandroMeyer私はそれがほとんど安静だと言うことができますが、純粋に安らかではないと言うことができます。安静なことは無国籍者を意味し、「認証された」状態なので同じ時間に混在することはできません。異なる層。 – arussinov

+0

あなたは正しいですが、毎回認証する必要があります(ダイジェストまたは基本認証)は本当にステートレスであり、これが合理的なアプローチであるかどうか疑問に思っていました。 – AlessandroEmm

2

あなたは簡単に作業ソリューションを手に入れることができます。しかし、良いものではありません。ステートレスからステートフルへの利点は、セッションを共有する必要がないようです。簡単にスケールアップできます。しかし、各コールの認証にはコストがかかります。場合によっては追加のデータベース読み取り操作を追加することもあります。これにより応答が遅くなります。認証結果をキャッシュする場合は、ステートフルセッションソリューションとの違いはありません。 私の意見です。あなたはステートレスな方法でロールベースのアクセスコントロールを実装することはできません!

+0

ロールベースのログインは、いわゆる「web-dev」のno-noです。 – AlessandroEmm

+0

状態をREDISのような高速で複製可能なメモリエンジンに入れることができます。各シングルプレイプロセスはステートレスなので、水平スケールが容易になります。 –

関連する問題