問題タブ [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 投票する
3 に答える
9525 参照

java - コンテナマネージドセキュリティからApacheShiro、Spring Securityなどの代替セキュリティにいつ移行するのですか?

JSF2.0を使用して構築されたアプリケーションを保護しようとしています。

Shiro、Spring Security、owaspのesapiなどのセキュリティの代替手段をいつ人々が選択してコンテナマネージドセキュリティを残すのかについて、私は混乱しています。Stack Overflowに関するいくつかの関連する質問を見て、過去にJSF開発者がコンテナベースのセキュリティを好んでいたことに気づきました。しかし、ApacheShiroの使用も強くお勧めします。私はセキュリティの問題に関しては初心者であり、関連する問題が何であるか、そしてそれらにどのように対処するかがわかりません。したがって、私はデフォルト設定/それ自体でセキュリティ問題のほとんどを処理するものを探しています。

アプリケーション要件に関しては、さまざまな役割を持つユーザーがさまざまなページセットにアクセスでき、役割に基づいてそれらのページでさまざまなレベルの機能を使用できるソーシャルアプリケーションがあります。

その場合、私が一緒に行くのに良い選択肢は何だと思いますか?

使いやすく、初心者のほとんどのことをやってくれるので、私は個人的にシロを選ぶと確信しています。

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

jsf - JSFがすでにそのような機能を提供している場合、JSFアプリは本当にShiroのセッション管理サポートを必要としますか?

JSFアプリを保護するためにShiroを使用しようとしています。Shiroを簡単に見てみると、JSFアプリケーションがShiroが提供するセッション管理機能を本当に必要としているかどうか混乱しています。JSFは、受信した一連のリクエストに応答するときにすでにセッションを作成しているため、Shiroを使用すると、認証されたユーザーのセッションインスタンスが作成されますか??

jsfアプリ用にShiroを構成している場合、追加のセッションインスタンスが作成されるのではないかと心配しています(jsfはすでにそれを提供していて、shiroを介したセッションインスタンスは必要ないので心配です)

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

security - shiro の無許可のページを上書きする

shiro の許可されていないページをオーバーライドする方法を知る必要があります。つまり、ユーザーが保護された URL に対する何らかの許可を持っていない場合、shiro はページ 401 を返します。事前に定義された許可されていないページにユーザーを転送するにはどうすればよいでしょうか?

ありがとう...

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

grails - Grails / Shiro 内部 URL リクエスト

grails アプリがあり、Shiro セキュリティ プラグインを使用しています。

現在、groovy URL 機能を使用してページの出力を取得し、DIV 内のコンテンツをレンダリングしていますが、保護された Shiro ページのいずれかにそのような要求が行われると、Shiro が認識しないため、ログイン ページが表示されます。有効なログイン ユーザーとしての内部要求。

この問題を克服する方法を知っている人はいますか?

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

java - ApacheShiro構成を使用して適切な結果を取得できない

プロジェクトに役割ベースのメカニズムを作成する必要があるため、プロジェクトにapacheshiroを使用しようとしています。次の構成でデモプロジェクトを作成しました...

プロジェクトに次のファイルを作成しました-

index.jsp

login.jsp

success.jsp
denied.jsp
logout.jsp
showUser.jsp

私のshiro.iniの構成は次のとおりです-

認証が成功/失敗した後、サーブレットLoginTestServlet.javaを使用してlogin.jspページまたはsuccess.jspにディスパッチしています-

TOMCAT6.0を使用しています。

私の問題は-

  1. login.jspページでクレデンシャルを入力しようとすると、入力したクレデンシャルのそれぞれのページに自動的に移動します。たとえば、success.jspをクリックした後にROLE_MEMBERクレデンシャルを入力しようとすると、success.jspページに移動します。しかし、同じsuccess.jspをクリックした後にROLE_ADMINを入力しようとすると、denied.jspに移動する代わりに、記述されたサーブレットコードに従って自動的にsecret.jspに移動します。
  2. ログインの成功または拒否されたページを表示するために、リソースごとに個別のサーブレットを作成せずに汎用コードを作成するにはどうすればよいですか?

また、すべてのリソースに対してshiroでカスタム権限を作成する方法はありますか?はいの場合、その方法。これへのリンクがあれば、私はあなたに感謝します。

皆さんありがとう。

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

spring - SpringでApacheShiroアノテーションが有効になっていると、SpringデータJPAリポジトリが見つかりません

ここに問題があります。

新しいDATAJPAリポジトリモジュール(インターフェース拡張 CrudRepository<T, ID extends Serializable>)を使用して、Spring3.0.5を使用しています。

アプリのセキュリティソリューションとしてApacheShiro1.1.0を使用しています。Apache shiroは、Spring BeanDefintionxmlファイルで次のように構成されています。

私のアプリはスタンドアロンアプリケーションであり、このApachoeShiro構成はそれを反映していることに注意してください。

Spring JPAリポジトリの構成と標準のSpring構成(アノテーションスキャン)は他のファイルで構成されていますが、これらはこの問題に関連していないようですので、印刷をスキップします。

SecurityDAORealmのクラスは、クレデンシャルが格納されているデータベースにアクセスするためのCredentialsRepositoryjpaリポジトリコントローラーインターフェイス( )として自動配線されています。CredentialsRepository extends CrudRepository<T, ID extends Serializable>

今問題のために。

Apache Shiroアノテーションスキャンが設定されている場合、タイプの自動配線されたBeanがCredentialsRepository見つからないため、配線されていません。注釈スキャンがオフになっている場合、CredentialsRepository変数は自動配線され、すべてが正しく機能します。

ApacheShiroアノテーション処理が可能な部分はこちら

その中心的な平和をコメントアウトすることによって

アノテーションはオフになっており、コメントを外すと再びオンになります。

テストとして、の代わりに単純なpojoを自動配線しようとしましたがCredentialsRepository、これはどちらの場合でもうまく機能します(注釈のオン/オフ)。

春の内部はあまり見ていません。ここで発生している可能性があるのは、SpringがバックエンドでCredentialsRepository適切な実装()を作成する機会がないため、変数が自動配線されていないことです。SimpleJpaRepository

回避策は、スプリングマネージドインターフェイスの実装ではなく、「フルクラス」のJPAコントローラーを自動配線するだけです。

ただし、これが修正が必要なバグなのか、それともスプリングデータインターフェイスでも機能する可能性のある追加のスプリングマジックがここに存在するのか、興味があります。

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

grails - grails Webアプリケーションでshiroネイティブセッションを使用するにはどうすればよいですか?

現在、コントローラーとgspページの両方でデフォルトのHttpSessionオブジェクトを使用しています。

コントローラの場合:

GSPの場合:

「rememberme」機能が欲しいのですが。Shiroにはすでに組み込まれています。ただし、私が理解している限り、これを行うには、shiroネイティブセッションモード(Config.groovy:security.shiro.session.mode = "native")を使用する必要があります。デフォルトでは、セッション状態が保持されるため、Cookieの有効期限が切れるか、ユーザーがログオフする限り、オブジェクトはセッションに残ります。

私の理解は正しいですか?

次に、コントローラーを次のように変更する必要があります。

そしてこれに対する私の見解:

だから、私の質問は次のとおりです。

  • そうですか?
  • 以前の方法を使用してセッションにアクセスすることはできませんか?
  • 一部の構成でデフォルトのhttpセッションをオフにする必要がありますか?
0 投票する
1 に答える
283 参照

java - Ruby(RhoMobile)フロントエンドセキュリティを備えたJavaおよびSpringバックエンド

現在、RhoMobileを使用してモバイルアプリケーションを構築しています。アプリケーションは、一連のRESTWebサービスを呼び出すだけです。バックエンドRESTサービスはJava+Springで書かれています。私はセキュリティ上の考慮事項が何であるか疑問に思いました。要件は非常に単純です。ユーザーがアプリケーションにログインして、Webサービスを呼び出すことができるようにするための安全な方法が必要です。

誰かがこれらの技術と結婚した経験がありますか?そして、私の選択肢は何ですか。現時点では、Spring SecurityまたはShiroのいずれかを使用することを検討していますが、誰かがより良い経験を持っているかどうか疑問に思っています。

注として、すべての通信にJSONを使用します。

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

spring-roo - Spring Roo プロジェクト用に Apache Shiro を使用して JDBC レルムをセットアップする

JPA パーシスタンス レイヤーに Eclipse リンクを使用して Spring-Roo プロジェクトをセットアップし、セキュリティを管理するために (User Roles, Users ) テーブルを作成しました。ユーザー名とパスワードの検索にデータベーステーブルを使用し、ユーザー名とパスワードを保存するように、Spring プロジェクトでレルムを設定して Apache Shiro を構成した人がいるかどうか疑問に思っていましたか?

現在、いくつかのテスト ロールと (ユーザー名、パスワード) の組み合わせで使用されている Shiro.ini ファイルがありますが、代わりに正しいフィルターを使用して web.xml ファイルを構成する方法を見つけようとしています。以下は、私の web.xml ファイルと現在のフィルター セットです。

Apache Shiro および Spring で (Postgres) を使用する JDBC レルムの例はありますか?

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

java - sessionId またはユーザー名とパスワードによる Shiro 認証

私は一般的に Java 認証フレームワークと認証ワークフローの経験があまりない (理論的な知識しかない) ため、教育目的で、HTTP アプリケーション用にこのタイプの認証を作成しようとしています。

  1. クライアントは、ログインとパスワードを に投稿します/login
  2. Shiro は、指定された資格情報でユーザーにログインします。サーバーはクライアントに自分の を返しますsessionId
  3. クライアントはある種のリソースを要求します/myresource?sessionId=1234567
  4. Shiro は与えられた Subject でログインしsessionIdます。/myresource次に、サーバーは(メソッド レベルのアクセス権を管理する Shiro と共に)を取得する通常のワークフローを実行します。

基本的に私はこれらの質問があります:

  1. HTTP セッションもサーブレット セッションも必要ないと思います。Shiro には、私のニーズには十分な独自のセッション マネージャーがあります。私が間違っている?
  2. クライアントに実際の sessionId を与えるのは良い習慣ですか、それともある種の sessionToken (サーバー側で sessionId に解決される) を送信する必要がありますか?
  3. sessionId (クライアントがローカルに保存する必要があります) を使用してサブジェクトにログインするにはどうすればよいですか?
  4. この種の認証を行う前に、他に知っておくべきことはありますか?

前もって感謝します。