問題タブ [deadbolt-2]

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.

0 投票する
1 に答える
365 参照

scala - Deadbolt2 -> SecureSocial/Silhouette 統合

誰でも Deadbolt2 を Silhouette/SecureSocial と統合できたのでしょうか?

Silhouette Authorization は少し基本的で、Deadbolt2 はすべての要件を満たしていると思います。

ありがとう

0 投票する
1 に答える
90 参照

java - デッドボルト onAuthFailure で応答ステータスを操作する方法

他のフロントエンド アプリケーションの API を保持する playframewrok サーバー アプリで、認証にデッドボルト ライブラリを使用しています。ユーザーが認証されていないときの onAuthFailure メソッドの MyDeadboltHandler クラスで、次のコードでステータス 403 を返したい:

ただし、フロントエンド アプリケーション (Angular 1.5) のエラー ハンドラーで、エラー ステータス コード -1 の一般的なエラーである応答を取得しています。このメソッドを変更して、応答で通常の 403 エラー ステータスを取得するにはどうすればよいですか?

0 投票する
1 に答える
104 参照

scala - Play 2.5 タイプの不一致 セッション タイプ

deadbolt2を使用すると、次のコントローラー関数の実装があります。

しかし、次のコンパイラ エラーが発生します。

基本的に、電流requestは私に を与えていますplay.api.mvc.Sessionが、私が依存しているライブラリ ( play-authenticate ) は を期待していplay.mvc.Http.Sessionます。2つを変換する方法はありますか?または、必要な Http を取得する別の方法はありますか?

0 投票する
2 に答える
3340 参照

scala - Scala Play 2.5 フォーム bindFromRequest: ここで HTTP リクエストが見つかりませんか?

次のように実装されたコントローラーアクションが1つあります。

上記の実装では、コンパイル エラーが発生します。

ただし、2行目を次のように変更すると:

次にコンパイルします...しかし、なぜですか?

0 投票する
1 に答える
259 参照

scala - Play 2.5 Deadbolt-2 の @subjectPresentOr を Java -> Scala から移行

既存の Java Play 2.5 アプリケーションを Scala に移行していますが、ビューmain.scala.htmlで次のデッドボルト 2クラスの使用が見つかりましたsubjectPresentOr

すべてのコントローラーとアクションを Scala に移行した後 (およびデッドボルト 2 の依存関係を Java から Scala に変更した後) subjectPresentOr、 type の暗黙の要求が必要なため、次のコンパイラ エラーが発生しAuthenticatedRequest[Any]ます。

そして、私にはいくつかの直感があります...たとえば、ユーザーがまだログインしていない場合、deadbolt-2タイプのリクエストはありませんAuthenticatedRequest[_]が、スーパークラスタイプplay.api.mvc.RequestHeaderであり、そのサブクラスと暗黙的に一致させることはできませんAuthenticatedRequest[_]

問題は、そもそもなぜこれが Java バージョンで機能するのかということです。の Java バージョンで@subjectPresentOrは、暗黙のリクエストは必要ありません :)

Scala バージョンでこれを修正するには、@subjectPresentOrブロックをパターン マッチングでラップして、暗黙的なリクエストの動的タイプを検出し、その動的タイプが動的タイプである場合にのみ、ブロックを表示し、そのタイプの絞り込まれたリクエストAuthenticatedRequest[_]を明示的に渡します。@subjectPresentOrこれは非常にエレガントではありませんが、他の方法はわかりません...

0 投票する
1 に答える
227 参照

scala - Play-Slick: このデザイン (パターン) を改善することはできますか? また、それを呼び出す方法はありますか?

Play-Slick バージョン 2.5.x と 3.1.x をそれぞれ使用しています。Slick のコード ジェネレーターを使用して、既存のデータベースから Slick モデルを生成します。実際、私は DB 設計主導であり、クラス設計主導ではないことを認めるのは恥ずかしがり屋です。

これは初期設定です:

  • 下に生成された Slick モデルgenerated.Tables._
  • ジェネリック Slick dao 実装
  • Generic Slick dao の上に構築されるサービス層

これらは、サービス層の機能をモデルにプラグインできるようにするため、一時的に「プラグ可能なサービス」と呼んだパターンの背後にある力です。

  • Play のコントローラーとビューは、(Dao ではなく) Service レイヤーのみを参照する必要があります。UserService
  • 生成されたモデルなどUserRowは、Deadbolt-2 のサブジェクトなどのビジネス層インターフェイスに準拠することが期待されますが、直接実装することはできません。UserRowそれを実装できるようにするには、モデル タイプ、UserDaoビジネス コンテキストなど、 「多すぎる」ものが必要です。
  • 一部のメソッドは、モデルインスタンスUserServiceに自然に適用されます。UserRowloggedUser.rolesloggedUser.changePassword

したがって、私は持っています:

generated.Tables.scala洗練されたモデル クラス:

dao.UserDao.scalaUser モデルに固有の Dao 拡張機能とカスタマイズ:

services.UserService.scalaすべてのユーザー操作を Play アプリケーションの残りの部分にファサードするサービス:

services.PluggableUserService.scala最後に、サービス実装をモデル タイプに動的にアタッチする実際の「プラガブル」パターン:

最後に、コントローラーで次のことができます。

Pluggable Service オブジェクトに定型コードを書かなくても済むようにする Scala の方法はありますか? Pluggable Service の名前は理にかなっていますか?

0 投票する
1 に答える
144 参照

java - Deadbolt 2.5 - SBT プロジェクトのインポート中にエラーが発生しました

私の悪い英語のために前もって申し訳ありません..

今日、私は自分のプロジェクトに Deadbolt を実装したいと考えていました。このウェブサイトのドキュメントを読みましたが、最初は問題がありました。

最初の指示で、これらの行を built.sbt ファイルに追加する必要があると書かれています。




IntellijIDEA を使用していますが、プロジェクトを更新すると、このエラーが発生します。

SBT 'Simulateur' プロジェクトの更新に失敗しました エラー: エラー: SBT プロジェクトのインポート中にエラーが発生しました:

[情報] com.typesafe.play#play-doc_2.11;1.2.2 を解決しています ...

[情報] org.pegdown#pegdown;1.4 を解決しています.0 ...

[info] org.parboiled#parboiled-java;1.1.5 を解決しています ...

[info] org.parboiled#parboiled-core;1.1.5 を解決しています ...

[info] org.ow2.asmを解決しています#asm;4.1 ...

[info] org.ow2.asm#asm-tree;4.1 を解決中 ...

[info] org.ow2.asm#asm-analysis;4.1 を解決中 ...

[info] org.ow2 を解決中.asm#asm-util;4.1 ...

[情報] jline#jline;2.12.1 を解決しています ...

[警告] ::::::::::::::::::::: ::::::::::::::::::::::::

[警告] :: 未解決の依存関係 ::

[警告] ::::::::::::::::::::::::::::::::::::::::::::

[警告] :: be.objectify#deadbolt-scala_2.11;2.5.1-SNAPSHOT: 見つかりません

[警告] ::::::::::::::::::::::: :::::::::::::::::::::

[trace] スタック トレースが抑制されました: 完全な出力を得るには、'last *:update' を実行してください。

[トレース] スタック トレースが抑制されました:完全な出力については、「last :ssExtractDependencies」を実行してください。

[エラー] (
:更新) sbt.ResolveException: 未解決の依存関係:be.objectify#deadbolt-scala_2.11;2.5.1-SNAPSHOT: 見つかりません

[エラー] (*:ssExtractDependencies) sbt.ResolveException: 未解決の依存関係: be.objectify #deadbolt-scala_2.11;2.5.1-SNAPSHOT: 見つかりません

[エラー] 合計時間: 18 秒、12 月 20 日に完了しました。2016 22:00:15

Java HotSpot(TM) 64 ビット サーバー VM 警告: オプション MaxPermSize=384M を無視します。サポートは 8.0 で削除されまし

た C:\Users\PCDamien.IntelliJIdea2016.2\system\log\sbt.last.log の完全なログを参照してください




ここで、build.sbt ファイルを表示します。

よろしくお願いいたします。:)