問題タブ [jaspic]

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 投票する
5 に答える
8135 参照

jakarta-ee - Java Web アプリケーション: カスタム レルムの使用

Web サービスを介してログインを実行する必要がある Java Web アプリケーションを作成しています。もちろん、私が使用しているアプリケーション サーバー (glassfish v2) で提供されているレルムはどれもうまくいきません。したがって、私は自分で書かなければなりませんでした。しかし、私が書いたレルムの実装は完全に Glassfish に結び付けられており、他のアプリケーション サーバーでそのまま使用することはできないようです。

カスタム Realm を実装するための標準的または広くサポートされている方法はありますか? そのレルムを .war から展開することは何らかの方法で可能ですか?それとも、常にサーバー自身のクラスパスからロードする必要がありますか?

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

java - openIdをサポートするJavaの認証および承認フレームワークは存在しますか(Springセキュリティを除く)?

実際、私は多くの種類のA&AをサポートするJavaAAフレームワークに興味があります。JAASが存在することはわかりましたが、OpenIdサポートに関する情報は見つかりませんでした。多分それを使用するモジュールが存在しますか?Spring SecurityはOpenIdをサポートしていますが、他の方法を見たいだけです。また、SpringSecurityは少し複雑だと読みました。

これは主に一般的な機能であり、開発者の生活を簡素化し、開発者に車輪の再発明を強制しない方法が存在する必要があると思います。

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

security - 宣言型セキュリティを使用したJSPログイン-実際の認証はどのように行われますか?

全体像を示す例をあまり見たことがないので、これには少し戸惑いました。私がこれまでに見つけた最も良い説明はこれです。

たとえば、「admin」などのセキュリティロールをweb.xmlで定義し、ログインフォームに必要なすべてのフィールド(つまり、アクションとしてのj_security_check、およびフィールドj_username、j_password)を設定することにより、実際の認証はどのように/どこで行われますか?

データベースに保存されているユーザー名/パスワード(ハッシュ)を使用したカスタム認証を使用する予定です。ユーザーがフォームを送信するときに、JavaEEWebコンテナにsevlet/beanメソッドを呼び出させて実際の認証を実行するにはどうすればよいですか?実際の認証を行うweb.xmlのコードにフックを追加する場所に気づきませんでした。

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

security - JavaEE6セキュリティ-ユーザーエンティティクラスを使用

必要なのは、単純なUserエンティティクラスのユーザー名とパスワードをチェックする単純なログインページだけです。それはJavaEE6で可能ですか?チュートリアルでは、常にユーザーをGlassfishサーバーに保存します。

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

java - パスワードソルティングでコンテナ管理認証を使用することは可能ですか?

フォーム認証を使用し、ダイジェストされたパスワード (SHA-256 など) を使用するバニラ コンテナー管理セキュリティをセットアップする方法を知っています。このようなもの:

web.xml

login.xhtml

かなり単純ですが、私が本当にやりたいのは、パスワードをグローバルソルトとユーザー名でソルトすることです。はい、これが理想的ではないことは承知していますが、現在、概念実証を構築しているところです。

コンテナー (この場合は GlassFish 3) でこれを実行できますか? それとも、独自のログイン フィルターを作成する必要がありますか? 以前に (J2EE アプリケーション用に) 実行したことがありますが、Java EE 6 を使用するようになった今では、より厳密な方法で実行する必要があることがわかりました。

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

jakarta-ee - Java サーバー コード/Web サーバーでの基本/ダイジェスト認証の実装

Java Web プロジェクトで基本認証とその後のダイジェスト認証をサポートする必要があります。私の疑問は

  • 基本/ダイジェスト認証が Web サーバー (tomcat、jboss など) の構成であるかどうか。ユーザー/パスワードは SQL データベースにあり、データサービスを通じてこれらを取得します。この場合、データサービスを使用して認証するように Web サーバーを構成するにはどうすればよいですか?
  • 基本/ダイジェスト認証のコードで明示的に処理する必要があるかどうか? サーブレットから認証リクエストを受け取り、認証のためにデータサービスに接続しますか?
0 投票する
2 に答える
2345 参照

jsf - HttpServletRequest と LDAP による自動ログイン

ユーザー名とパスワードを要求することなく、自動認証に Cookie を使用する JSF Web アプリケーションがあります。ユーザー名とランダムな UUID を持つ Cookie を使用しWebFilter、リダイレクトに a を使用します。

クライアント側に Cookie がない場合、認証はHttpServletRequest #login(String username, String password)によって行われます。舞台裏では、このアプローチは JAAS 認証を使用し、LDAP背後でサーバーを使用します。

私の問題は、アプリケーションがユーザー ID と UUID を保持する Cookie を介してユーザーを認識するときに発生します。この状況では、

  1. アプリケーションはパスワードを知らないため、このメソッドHttpServletRequest #login(String username, String password)は使用できません。
  2. JNDI を介して LDAP サーバーにパスワードを要求する必要がありますか? これは一見不可能に思えます
  3. または、パスワードをデータベースに保存することもできます。しかし、これは情報の重複を意味し、私はそれが好きではありません。
  4. セッションに属性「ロール」を設定するだけの人を見たことがありますが、これは JAAS ログインと同等ではないようです。「同等」とはisUserInRole()getUserPrincipal()メソッドを使用できることを意味します。

問題は、この場合、ユーザーをどのようにログインさせるべきかということです。質問がより明確になったことを願っています。

編集

コードが話せるようにするために、Managed Bean の簡略化されたバージョンを追加します。

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

java - JBoss EAP6/AS7 でセキュリティー制約の前にフィルターを適用する方法

編集: コンテキストによっては、カスタム セキュリティ ドメインを使用し、request.login を手動で呼び出しています。標準の FORM 認証を使用していません。

編集: 私が本当に探しているのは、j_security_check の代わりに jboss で構成され<login-config>たカスタムを使用して機能を複製する方法のようです。<security-domain>

Web アプリで 2 つの異なることを実行できる必要があります。まず、ユーザーが認証されているかどうかを判断できるようにする必要があります。認証されていない場合は、ログイン ページにリダイレクトします。これにはフィルターを使用しています。次に、Web アプリケーションで特定のページを表示するために、ユーザーが適切な役割を持っているかどうかを判断する必要があります。web.xml ファイルの security-constraint タグがこのジョブに適したツールのようですが、このルールは常に最初に適用され、フィルタが適用されます。これは、ユーザーが適切なロールを持っていないため、ページへのアクセスが拒否される前にログインする機会がユーザーに与えられないことを意味します。

私が考えることができる唯一の解決策は、セキュリティ制約を使用する代わりに、フィルターでユーザーの役割を手動で検査することですが、これは良い解決策とは思えません。これはかなり一般的な使用例のように思われるので、ここに何か欠けているものがあるのではないかと思っています。参考までに、私のフィルターとサンプルのセキュリティ制約を以下に貼り付けます。

編集: フィルターを使用して承認を確認する理由は、特定のエラーに対して 1 つのエラー ページしか定義できないためです (この場合は、403 アクセスが拒否されました)。たとえば、「customer」ロールを持つ誰かが searchCustomer ページにアクセスしようとします。私のセキュリティ制約は、そのページをロール「admin」または「user」を持つユーザーに制限しているため、403 エラーが生成され、ユーザーは構成されたエラー ページ error.xhtml にリダイレクトされます。ログインしていない 2 番目のユーザーが main.xhtml にアクセスしようとします。彼はログインしていないため、許可されている 3 つの役割のいずれかを欠いているため、403 エラーも受け取り、error.xhtml にリダイレクトされます。ただし、彼はログインしていないため、代わりにログイン ページにリダイレクトしたいと考えています。

フィルター:

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

glassfish - spnego認証後のglassfishldap認証

Apachemod_proxy_httpとSPNEGOを使用してSSOを正常に実装しました。私のJavaEE6 Webアプリケーションでは、request.getRemoteUser()を使用して認証されたユーザーを取得します。

さて、承認のための最良の方法は何でしょうか。私たちの目標は、LDAPを介したMicrosoftADのユーザーの特定の役割のメンバーシップを確認することです。Glassfish 3.1.2でそれを達成するための最良の方法は何でしょうか?

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

security - JavaEE6アプリケーションのOpenID-ユーザーのプリンシパルオブジェクトを取得する方法

アプリで初めてOpenID認証を使用しています。選択したプロバイダーに対してユーザーを正常に認証できますが、Java EEサーバーにユーザーを正しくログインする方法がわからないため、ユーザーはフォームベースのログインなどでログインしたように見えます。サーブレット3.0を使用することもできますloginが、ユーザー名とパスワードのペアが必要であり、OpenIDを使用するときにパスワードがありません。

Principalオブジェクトを取得してメソッドなどを使用できるようにしたいのですが、isUserInRole何か足りないものがありますか?このアプリはJBoss7.1で実行していますが、一般的な方法があるはずです。または、OpenIDを使用すると、何かが足りずPrincipal、ユーザーの役割が異なる方法で実行される可能性がありますか?