問題タブ [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.

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

c# - C# Rhino セキュリティの実装方法

私はRhino Securityを実装しようとしています.いくつかのチュートリアルを見つけることができましたが、完全に理解するのに十分な情報を提供していません.Rhino Securityについて学ぶための良い情報源を誰かが知っているかどうか疑問に思っていました. または、NHibernate を使用してセキュリティを実装するための代替案を提案してください。

Rhino Security 内のメソッド/クラスのドキュメントはありますか?

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

nhibernate - Oracle と Nhibernate 3.0 による Rhino セキュリティ

Ayende の Rhino Security を Nhibernate Application with Oracle データベースで使用するには?

NHibernate のバージョンは 3.0 で、Rhino Security にはバージョン 2.0 が必要であると読みました。

ベストプラクティスを教えてください

ありがとうございました

0 投票する
3 に答える
1519 参照

asp.net-mvc-2 - ASP.NETMVCプロジェクトで使用する承認フレームワークを見つける

私はasp.netmvcプロジェクトを持っており、永続性はリポジトリによって処理されます。フォーム認証が使用されます。次に、承認を実装する必要があります。たとえば、マネージャーユーザーが自分のタスクのみを開き、ワーカーをタスクに割り当てることができるようにする必要があります。ワーカーには、自分に割り当てられているタスクのみが表示されます。スーパーモデレーターはすべてを編集できます。アクセス許可を定義できる、すぐに使用できるフレームワークはありますか?

私はAyendeRhinoSecurityを評価中です。より多くのサンプルコードをどこで入手できますか?Rhino Securityについてどう思いますか?
私のプロジェクトはLinqtoSQLを使用しており、NHibernateを使用していません。Rhino SecurityはNHibernateなしで機能しますか?

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

nhibernate - Nibernate および SetCacheable と二次キャッシュ

Rhino.Security リポジトリを使用してユーザー/ロールを管理しています。
作成、削除、および関連付けのプロセスは正常に機能しますが、GetAssociatedUsersGroupFor という 1 つのメソッドを使用してクエリを実行すると問題に直面します。
メソッドを初めて呼び出すと、ユーザーのグループを取得できません。これは、まだ関連付けを作成していないためです。この時点で、ユーザーをいくつかのグループに関連付けます。
DB をチェックインすると、関連付けが表示されます。
GetAssociatedUsersGroupFor をもう一度呼び出しますが、グループを取得できません。
プロファイラーを使用すると、今回はデータベースが関与していないことがわかりました。コードを確認したところ、関数が Nhibernate SetCacheable を使用していることがわかりました。

Rhino.Security コードを変更したくないので、この動作を何らかの方法でオーバーライドまたは変更できるかどうかを知りたいです。

アップデート:

この命令を使用して、関連付けられたグループを取得します。

私はこのコードに関連付けます:

そして切り離します:

アップデート

構成に第 2 レベルのキャッシュを残していたことがわかりました。

パフォーマンスを向上させるために、II レベルのキャッシュを持つことは良いことだと思っていましたが、完全に間違っていたようです。
ここで何が起こっているのかを理解するのを手伝ってくれる人はいますか?

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

nhibernate - StructureMap に新しいセッションを作成するように指示します (破棄された場合のみ)。

私はNhibernateでStructureMapを使用しています。ツールが必要になるたびに新しいセッションを構築するように指示したいと思います。 いくつかのコードで説明しようとします (これはコンソール アプリケーションです)。

この方法でセッション ファクトリを構築します (ConnDb は接続文字列です)。

これは、セッションを構築するために使用するコードです。

セッションを破棄しないとすべてが期待どおりに機能しますが、次のようなことができるようにしたいと思います。

次のように、セッションのコードを変更しようとしました。

しかし、アクティブなセッションがある場合でも、新しいセッションが作成されることに気付きました。私の状況では、サービスロケーターで ISession を解決する別のコンポーネント (Rhino.Security) を参照しています。

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

asp.net-mvc - Rhino.Security:DetachedCriteriaで第2レベルのキャッシュがヒットすることはありません

ユーザー/役割/権限を管理するためにRhino.Securityを含むソリューションを実装しました。
ユーザーがコントローラーアクションへのアクセスを許可されているかどうかを確認したいので、カスタムアクションフィルターを実装しました。

CheckAuthorizationOnOperationは、Rhino.Securityを呼び出して、ユーザーが指定された操作を許可されているかどうかを確認します。

すべてが正常に機能しますが、 IsAllowedによって呼び出されたクエリが実行されたときに、第2レベルのキャッシュがヒットしないことに気付きました。
調査したところ、フレームワーク(Rhino.Security)がDetachedCriteriaを使用していることがわかりました。これらは、次の2つの手順と呼ばれます。

ご覧のとおり、 FindResultsSetCacheableを使用しています。

ページを更新するたびに、アクションフィルターがプロシージャを実行し、キャッシュを無視してクエリが再度実行されます(第2レベル)。私はキャッシュを広範囲に使用し、他のすべての呼び出しは適切に機能するため、これが期待どおりに機能しない理由を理解したいと思います。

調査を行ったところ、関数を2回呼び出した場合にのみ、第2レベルのキャッシュが使用されることに気付きました。

この特定の状況のキャッシュは、同じセッション(nHibernate)を使用している場合にのみ機能するようです。何が起こっているのかを理解するのを手伝ってくれる人はいますか?

アップデート: ここに画像の説明を入力してください

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

nhibernate - Rhino セキュリティと POCO クラス

エンティティでRhino Securityを使用したい場合、そのエンティティにはGuidタイプのSecurityKeyフィールドが必要です。エンティティのクラスのコンストラクターに SecurityKey を割り当てるステートメントがある例を見ました

コンストラクターは、毎回新しい Guid SecurityKey を割り当てました。なぜこれが機能するのかわかりません。永続化されていない新しいエンティティに対してのみ、新しい Guid を割り当てるべきではありませんか?

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

nhibernate - Rhino Security、すべてのユーザーグループを取得

ayendeのRhinoSecurityを使用しています。セキュリティフレームワークを使用してユーザーグループのリストを取得する方法はありますか?

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

asp.net-mvc - コンポーネントとそのコンテナの Rhino セキュリティ

エンティティ Product があり、各製品にカテゴリ ( category_id 、 cat_name ) があるとします。Category に対する /Category/Read 操作の許可と、 Product に対する /Product/Read 操作の許可を作成するとします。操作 /Product/Read の IsAllow は、製品に対する許可と Category の許可の両方によって決定されますか?

要件は、一部のユーザーがすべてのカテゴリではなく一部のカテゴリのみを表示する必要があることです。ユーザーがカテゴリを表示できない場合、そのカテゴリに関連付けられているすべての製品もそのユーザーには表示されません。

Rhino Security でこれをどのように実装すればよいですか?

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

rhino - Rhinoシェルから追加機能を削除します

サーバー上でユーザー提供のスクリプトを実行するためのサンドボックスとしてRhinoを使用したいと思います。これは、JavaバインディングがなくなったPHPから実行したいので、コマンドラインインターフェイス(Rhinoシェル)を使用する必要があります。

残念ながら、Rhinoシェルは、ファイルアクセスなど、サンドボックスキャラクターを台無しにrunCommand()し、システム上で任意のコマンドを実行できるようにするいくつかの組み込み関数を環境に追加します。

それらを無効にする方法はありますか?