問題タブ [rhino-security]
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.
c# - C# Rhino セキュリティの実装方法
私はRhino Securityを実装しようとしています.いくつかのチュートリアルを見つけることができましたが、完全に理解するのに十分な情報を提供していません.Rhino Securityについて学ぶための良い情報源を誰かが知っているかどうか疑問に思っていました. または、NHibernate を使用してセキュリティを実装するための代替案を提案してください。
Rhino Security 内のメソッド/クラスのドキュメントはありますか?
nhibernate - Oracle と Nhibernate 3.0 による Rhino セキュリティ
Ayende の Rhino Security を Nhibernate Application with Oracle データベースで使用するには?
NHibernate のバージョンは 3.0 で、Rhino Security にはバージョン 2.0 が必要であると読みました。
ベストプラクティスを教えてください
ありがとうございました
asp.net-mvc-2 - ASP.NETMVCプロジェクトで使用する承認フレームワークを見つける
私はasp.netmvcプロジェクトを持っており、永続性はリポジトリによって処理されます。フォーム認証が使用されます。次に、承認を実装する必要があります。たとえば、マネージャーユーザーが自分のタスクのみを開き、ワーカーをタスクに割り当てることができるようにする必要があります。ワーカーには、自分に割り当てられているタスクのみが表示されます。スーパーモデレーターはすべてを編集できます。アクセス許可を定義できる、すぐに使用できるフレームワークはありますか?
私はAyendeRhinoSecurityを評価中です。より多くのサンプルコードをどこで入手できますか?Rhino Securityについてどう思いますか?
私のプロジェクトはLinqtoSQLを使用しており、NHibernateを使用していません。Rhino SecurityはNHibernateなしで機能しますか?
nhibernate - Nibernate および SetCacheable と二次キャッシュ
Rhino.Security リポジトリを使用してユーザー/ロールを管理しています。
作成、削除、および関連付けのプロセスは正常に機能しますが、GetAssociatedUsersGroupFor という 1 つのメソッドを使用してクエリを実行すると問題に直面します。
メソッドを初めて呼び出すと、ユーザーのグループを取得できません。これは、まだ関連付けを作成していないためです。この時点で、ユーザーをいくつかのグループに関連付けます。
DB をチェックインすると、関連付けが表示されます。
GetAssociatedUsersGroupFor をもう一度呼び出しますが、グループを取得できません。
プロファイラーを使用すると、今回はデータベースが関与していないことがわかりました。コードを確認したところ、関数が Nhibernate SetCacheable を使用していることがわかりました。
Rhino.Security コードを変更したくないので、この動作を何らかの方法でオーバーライドまたは変更できるかどうかを知りたいです。
アップデート:
この命令を使用して、関連付けられたグループを取得します。
私はこのコードに関連付けます:
そして切り離します:
アップデート
構成に第 2 レベルのキャッシュを残していたことがわかりました。
パフォーマンスを向上させるために、II レベルのキャッシュを持つことは良いことだと思っていましたが、完全に間違っていたようです。
ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか?
nhibernate - StructureMap に新しいセッションを作成するように指示します (破棄された場合のみ)。
私はNhibernateでStructureMapを使用しています。ツールが必要になるたびに新しいセッションを構築するように指示したいと思います。
いくつかのコードで説明しようとします (これはコンソール アプリケーションです)。
この方法でセッション ファクトリを構築します (ConnDb は接続文字列です)。
これは、セッションを構築するために使用するコードです。
セッションを破棄しないとすべてが期待どおりに機能しますが、次のようなことができるようにしたいと思います。
次のように、セッションのコードを変更しようとしました。
しかし、アクティブなセッションがある場合でも、新しいセッションが作成されることに気付きました。私の状況では、サービスロケーターで ISession を解決する別のコンポーネント (Rhino.Security) を参照しています。
asp.net-mvc - Rhino.Security:DetachedCriteriaで第2レベルのキャッシュがヒットすることはありません
ユーザー/役割/権限を管理するためにRhino.Securityを含むソリューションを実装しました。
ユーザーがコントローラーアクションへのアクセスを許可されているかどうかを確認したいので、カスタムアクションフィルターを実装しました。
CheckAuthorizationOnOperationは、Rhino.Securityを呼び出して、ユーザーが指定された操作を許可されているかどうかを確認します。
すべてが正常に機能しますが、 IsAllowedによって呼び出されたクエリが実行されたときに、第2レベルのキャッシュがヒットしないことに気付きました。
調査したところ、フレームワーク(Rhino.Security)がDetachedCriteriaを使用していることがわかりました。これらは、次の2つの手順と呼ばれます。
ご覧のとおり、 FindResultsはSetCacheableを使用しています。
ページを更新するたびに、アクションフィルターがプロシージャを実行し、キャッシュを無視してクエリが再度実行されます(第2レベル)。私はキャッシュを広範囲に使用し、他のすべての呼び出しは適切に機能するため、これが期待どおりに機能しない理由を理解したいと思います。
調査を行ったところ、関数を2回呼び出した場合にのみ、第2レベルのキャッシュが使用されることに気付きました。
この特定の状況のキャッシュは、同じセッション(nHibernate)を使用している場合にのみ機能するようです。何が起こっているのかを理解するのを手伝ってくれる人はいますか?
アップデート:
nhibernate - Rhino セキュリティと POCO クラス
エンティティでRhino Securityを使用したい場合、そのエンティティにはGuidタイプのSecurityKeyフィールドが必要です。エンティティのクラスのコンストラクターに SecurityKey を割り当てるステートメントがある例を見ました
コンストラクターは、毎回新しい Guid SecurityKey を割り当てました。なぜこれが機能するのかわかりません。永続化されていない新しいエンティティに対してのみ、新しい Guid を割り当てるべきではありませんか?
nhibernate - Rhino Security、すべてのユーザーグループを取得
ayendeのRhinoSecurityを使用しています。セキュリティフレームワークを使用してユーザーグループのリストを取得する方法はありますか?
asp.net-mvc - コンポーネントとそのコンテナの Rhino セキュリティ
エンティティ Product があり、各製品にカテゴリ ( category_id 、 cat_name ) があるとします。Category に対する /Category/Read 操作の許可と、 Product に対する /Product/Read 操作の許可を作成するとします。操作 /Product/Read の IsAllow は、製品に対する許可と Category の許可の両方によって決定されますか?
要件は、一部のユーザーがすべてのカテゴリではなく一部のカテゴリのみを表示する必要があることです。ユーザーがカテゴリを表示できない場合、そのカテゴリに関連付けられているすべての製品もそのユーザーには表示されません。
Rhino Security でこれをどのように実装すればよいですか?
rhino - Rhinoシェルから追加機能を削除します
サーバー上でユーザー提供のスクリプトを実行するためのサンドボックスとしてRhinoを使用したいと思います。これは、JavaバインディングがなくなったPHPから実行したいので、コマンドラインインターフェイス(Rhinoシェル)を使用する必要があります。
残念ながら、Rhinoシェルは、ファイルアクセスなど、サンドボックスキャラクターを台無しにrunCommand()
し、システム上で任意のコマンドを実行できるようにするいくつかの組み込み関数を環境に追加します。
それらを無効にする方法はありますか?