問題タブ [securesocial]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - MongoDB-Scala-Play: 複合 ID の書き込み/読み取り
アプリケーションを に移植Play 2.2
し、最新バージョンの を使用するようにいくつかのコードを変更しSecureSocial
ました - ケース クラスのUserId
名前が に変更されたことを確認しましたIdentityId
。さて、私は新しいユーザーを登録することができました...データはMongoDBに正常に保存されました:
...しかし、ログインしようとするとすぐに-もちろん、これはMongoDbからデータを読み取ることを意味し、おもちゃは機能しなくなります。NoSuchElementException
データがデータベースから読み取られないという事実のために、私は常に取得します。
以下は私の完全なコードです:
ご覧のとおり、私は複合キーを使用しています...おそらく、メソッドfind
とfindByEmailAndProvider
.
EDIT1:
...そしてもちろん、次のシリアライゼーション/デシリアライゼーションも実装しましたIdentityId
:
json - シングルページ アプリケーションで SecureSocial を使用する方法
Play 2 アプリケーションを SPA に変換していますが、認証に SecureSocial を引き続き使用する方法を見つけようとしています。
すべての HTML テンプレート (SecureSocial が電子メールを送信するために使用するものを除く) を削除し、JSON 応答のみを提供するようにコントローラーを変更します。
SecureSocial が HTML をレンダリングするのを防ぎ、アプリケーションが認証データを JSON 形式で交換できるようにすることはできますか? このトピックを説明する例やチュートリアルはありますか? 私は数日間グーグルで検索してきましたが、私のような初心者にとって有用な、または少なくとも理解できる情報を見つけることができません.
scala - SecureSocial をうまく利用する: 別のスレッド プールで DB IO を実行する
play-slick 0.5.0.8を使用してデータを Postgresql バックエンドに保持し、 SecureSocial 2.1.2を使用してユーザー認証を処理する Play 2.2.1 アプリがあります。
play-slick トランザクションがブロックされているため、プラグインの Wiki にある指示に従って、ファイルに別のslick-context
実行コンテキストを作成しました。/conf/application.conf
これにより、別の実行コンテキストで実行され、既定のスレッド プールのスレッドをブロックしないコントローラー アクションを作成できます。例えば。/app/controllers/Application.scala
:
例 1 - play-slick の DBAction を使用する:
SecuredAction
特定のコントローラー アクションについては、 SecureSocial のアクション (UserAwareAction
など) を play-slick の と組み合わせて利用できるようにしたいと考えていますDBAction
。2つを組み合わせる最良の方法は何ですか?
私は以下のようなことができることを理解していますが、私の理解では、DB 呼び出しは私のセパレートslick-context
を使用しないため、デフォルトのスレッド プールをブロックします。
例 2 - SecureSocial のアクションの使用:
例 2 では、個別のスレッド プールの代わりにデフォルトのスレッド プールを使用/ブロックすると想定するのは正しいslick-context
ですか? もしそうなら、これを変更する方法はありますか?
もちろん、 Play のデフォルト スレッド プール( ) を増やすことでこれを回避できますdefault-dispatcher
が、理想的には、デフォルト スレッド プールを非常に無駄のない状態に保ち、すべてのブロッキング DB 呼び出しを別のプールで実行したいと考えています。
よろしくお願いします!
scala - SecureSocial は Play で拡張クラスを使用していません! SBT マルチプロジェクト内の 2.1 プロジェクト
現在、私は遊びを持っています!フロントエンドインターフェースである SBT マルチプロジェクトのサブプロジェクトである 2.1 プロジェクト。遊び!プロジェクトは、一般的な認証に SecureSocial を使用します。
通常、最初に SBT コンソールを起動して、内部サービスを別のターミナルでローカルに実行します。最後にplay "project interface" "~run 9000"
、新しいウィンドウでコマンドを実行して、Play! を使用してインターフェイス サブプロジェクトを起動します。問題は、(クリーンの後でも) 新規ロード時に、SecureSocial が拡張サービスとプロバイダーを使用せず、代わりに独自にフォールバックすることです。
ソースを変更してリロードすると、SecureSocial は独自のクラスを使用しますが、突然ClassCast
同じタイプの 2 つを使用して例外をスローし始め、競合する ClassLoader があることを示します。
これが起こらないようにこれを設定する適切な方法はありますか?ご協力いただきありがとうございます!
java - Play フレームワークでのログイン/ログアウトの問題?
ユーザーがログアウトした後、ユーザーがブラウザーの [戻る] ボタンをクリックすると、資格情報を入力せずにログイン ページが表示されます。この問題を克服する方法を教えてください。Securesocial モジュールを使用しています。私は非常に多くの方法で試しています:
- 応答時にヘッダーを設定します。
- Web ページへのメタ タグの挿入。
- カスタム JavaScript の使用
サーバー側のログアウト アクションで応答オブジェクトにいくつかのヘッダーを設定しましたhttps://groups.google.com/forum/#!topic/play-framework/SgcVCXxZb7g
しかし、問題は解決されていません。
私を助けてください。前もって感謝します。