問題タブ [shiro]

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 に答える
5524 参照

java - ApacheShiroおよびカスタム認証レルムと混同される

テスト用にApacheShiroの単純な承認レルムを作成しようとしています。

ご覧のとおり、ユーザーが誰であるかは関係ありません。ロールと特定の権限を返すだけです。

今、私は次のスニペットでそれをテストしようとしています:

そして、私は次の出力を受け取ります

:(

したがって、役割は正しく構成されているように見えますが(ユーザーにはkotaの役割しかないため)、権限はありません(koko2が印刷されるのはなぜですか?)!!!!

誰かが私が間違っていることを私に説明できますか?

TIA!

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

multi-tenant - シロのマルチテナント

作成中のカスタムSaasアプリについてShiroを評価しています。優れたフレームワークは、箱から出して、私たちが望むことの90%を実行するようです。シロについての私の理解は基本であり、これが私が達成しようとしていることです。

  • 複数のクライアントがあり、それぞれが同一のデータベースを持っています
  • すべての承認(役割/許可)は、クライアントが専用のデータベース内で構成します
  • 各クライアントには、一意の仮想ホストがあります。client1.mycompany.com、client2.mycompany.comなど

シナリオ1

シナリオ2


質問:

Sc 1と2に共通どのデータベースを使用するかをShiroに伝えるにはどうすればよいですか?ある種のカスタム認証フィルターを介して実行する必要があることはわかっていますが、誰かが私を最も論理的な方法に導くことができますか?仮想ホストのURLを使用して、どのDBを使用するかをshiroとmybatisに指示することを計画します。

クライアントごとに1つのレルムを作成しますか?

Sc 1(LDAPにより、ユーザー名はクライアント間で一意です)ユーザーjdoeがclient1とclient2で共有され、client1を介して認証され、client2のリソースにアクセスしようとした場合、Shiroは許可するか、再度ログインさせますか?

Sc 2(データベース内で一意のユーザー名のみ)クライアント1とクライアント2の両方がjdoeというユーザーを作成した場合、Shiroはクライアント1のjdoeとクライアント2のjdoeを区別できますか?

レの入力に基づく私の解決策。

新しいタイプのトークン。

継承したJDBCレルムを変更する

そして最後に、ログイン時に新しいトークンを使用します

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

java - ApacheshiroLDAP複数のOU

LDAPサーバーを使用して認証するようにapacheshiroを構成しようとしています。私はLDAPにあまり詳しくないので、無知を許してください。

shiro.iniで次のオプションを使用すると、正常に機能します(ユーザーは認証されます)。

ただし、当社には複数の組織単位(ou)があります。ouパラメータに複数の値をとらせるにはどうすればよいですか?これを使ってもいいですか

ログインが成功するまで、すべての組織単位を試してみたいだけです。

このように異なるouを持つ余分なLDAPレルムを追加するのはどうですか?

これは機能しますか?

また、ログインページにドロップダウンを追加して、ユーザーが組織単位を選択し、それをパラメーターとしてldapRealmに渡すことができるようにすることもできますか?どのように進めればよいですか?

TIA、セラフェイム

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

java - shiro:hasPermission タグの組み合わせ

タグ使ってます

JSP のさまざまな場所で、現在のユーザーが持っている権限に応じてコンテンツを表示または非表示にします。

ただし、たとえば、アクセス許可を組み合わせる必要がある場合があります

また

どうすればこれを行うことができますか? <c:if> タグで hasPermission を使用できますか? shiro にはこれに利用できるものがありますか、それとも独自の EL 関数を実装する必要がありますか?

ティア、

セラフェイム

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

spring-mvc - Spring MVC MultiActionController と Apache Shiro

Spring MVC で Apache Shiro を使用しようとしています。

公開する (そして保護したい) コントローラーは、MultiActionControllerを拡張します。ここで説明されているように、Spring 用に Apache Shiro を構成しました: http://shiro.apache.org/spring.html

コントローラーメソッドで @RequiresRoles アノテーションを使いたかったのですが、うまくいきません...

ログにエラーはありません。デバッグで見たところ、AbstractController (MultiActionController のスーパークラス) からの handleRequest メソッドのみが注釈についてチェックされているように見えます。

handleRequest から注釈付きメソッドへの「内部」呼び出しはプロキシ経由で呼び出されないため、Shiro 注釈のチェックはありません。

呼び出し元と同じオブジェクトのメソッドへの呼び出しであるという事実にもかかわらず、どうにかしてメソッドへの呼び出しをプロキシ経由にすることはできますか?

または、この問題に対する他の解決策はありますか?

前もって感謝します

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

tomcat - Apache shiro - キャッシングが承認のために機能していることをどのように知ることができますか?

Tomcat で Apache Shiro を使用しており、EhCache による承認のキャッシュを有効にしたいと考えています。

私が行ったことは、shiro.ini に次の 2 行を追加することです。

ehcache-core-2.5.1.jar を WEB-INF/lib ディレクトリにコピーしました。承認のために、MySQL データベースからパーミッションを読み取るカスタム Realm を実装しました。そのため、データベースへのクエリを可能な限り削減するためにキャッシュを有効にしたいと考えています。

Shiro のドキュメントを正しく理解していれば、上記でキャッシュを有効にするのに十分ですが、私はそれを見ていません:(

Tomcat は例外なく起動し、テスト JSP では認証を使用していますが、最初は問題なく動作します。データベースのパーミッションを変更すると、テスト JSP が変更をすぐに認識することがわかります。テスト JSP がキャッシュから値を返すことを期待していました...何が問題なのか教えていただけますか? また、EhCache が実際に呼び出されているかどうか、およびその動作を確認する方法はありますか (ログを有効にする必要がある場合は、詳しくないので詳細な情報を教えていただければ幸いです)。

更新:行を追加したことにも言及する必要があります

私のカスタムレルムの初期化で、私は真実になります!

ティア、

セラフェイム

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

grails - grails での ini ファイルのセットアップ

ini ファイルを使用して、shiro プラグインを使用して grails アプリケーションにログインしようとしています。ini ファイルを作成し、config フォルダーに配置しました。下にiniが表示されます。

createSecurityManager()ブートストラップで呼び出すメソッドでサービスを作成しました:

adminユーザー名とパスワードを使用してログインしようとするhesloと、ログインに失敗します。

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

spring - Shiro Authorization Exceptionの処理方法は?

私は、春のmvc3.0.5とzk5.0.8を管理者として使用するWebアプリケーションでshiro1.1.0を使い始めました。shiroアノテーションが機能していなかったので、セキュリティアプリケーションのコンテキストでrequredrolesを指定しました:

これは正常に動作し、私が作成した自動化されていないページにリダイレクトします。これでアノテーションが機能するようになったので、クラスの上で@RequiresRoles(value = {"manager"、 "admin"、 "superadmin"})を使用しました。

そしてそれは投げます

org.apache.shiro.authz.UnauthorizedException:サブジェクトにロール[マネージャー]がありません

この種の認証を取得するために注釈を使用するときにアクティブにするものはありますか?

これを読んでくれてありがとう。

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

ajax - JSF および Apache Shiro との Ajax 相互作用で認証を処理する

Apache Shiro で JSF アプリケーションを開発しています。UI が ajax を介してサーバーと対話するときに Web が何も反映しないことを除いて、すべて問題ありません。UIがajaxを介してサーバーと対話するときにユーザーがログインページにリダイレクトされるように、アプリケーションを構成するにはどうすればよいですか。

誰か助けてくれませんか?前もって感謝します。