問題タブ [worklight-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.
ibm-mobilefirst - LDAP の例_ヘルプが必要
LDAP認証に取り組んでいます。サンプルは、IBM Worklight Foundation 入門サイトからダウンロードしました。( http://www.ibm.com/developerworks/mobile/worklight/getting-started.html )
すべての構成などの後、LDAP が機能していないことがわかります。
例によると、メソッド getSecretData は、ログイン フォームの認証が成功した後に実行する必要があります。
しかし、間違った資格情報を与えたとしても、 getSecretData メソッドに連れて行かれます
助けてください!!
そこでコードを見つけます
HTML ページ :
LDAPRealmChallengeHandler.js
DummyAdaptor-impl.js
何が間違っているのかわからない。コンソールで以下のエラーを取得します。しかし、間違った資格情報を与えたとしても、getSecretData にアクセスできます。
[エラー] FWLSE0048E: 未処理の例外がキャッチされました: SRVE0190E: ファイルが見つかりません: /console java.io.FileNotFoundException: SRVE0190E: ファイルが見つかりません: /console at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java: 528) com.ibm.ws.webcontainer.filter.WebAppFilterChain.invokeTarget(WebAppFilterChain.java:127) com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:88) com.worklight.core .auth.impl.AuthenticationFilter$1.execute(AuthenticationFilter.java:205) at com.worklight.core.auth.impl.AuthenticationServiceBean.accessResource(AuthenticationServiceBean.java:76) at com.worklight.core.auth.impl.AuthenticationFilter. com.ibm.ws.webcontainer.filter.FilterInstanceWrapper の doFilter(AuthenticationFilter.java:209)。com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:85) の doFilter(FilterInstanceWrapper.java:194) com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:968) のcom.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1056) com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:4510) com.ibm.ws.webcontainer .osgi.DynamicVirtualHost$2.handleRequest(DynamicVirtualHost.java:282) at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:954) at com.ibm.ws.webcontainer.osgi.DynamicVirtualHost$2.run(DynamicVirtualHost) .java:252) com.ibm.ws.http.dispatcher.internal.channel.HttpDispatcherLink$TaskWrapper.run(HttpDispatcherLink.java:584) で、com.ibm.ws.threading.internal.Worker で。executeWork(Worker.java:439) at com.ibm.ws.threading.internal.Worker.run(Worker.java:421) at java.lang.Thread.run(Unknown Source) [project module_23_2_LDAPLoginModule] SRVE0190E: ファイルが見つかりません: /コンソール
ibm-mobilefirst - Worklight アダプター singleStepAuth セキュリティー・テスト
パブリックで認証が必要なアダプターが複数あります。私のアダプターのいくつかは、一般に公開されるべきではなく、私のアダプターだけが見ることができる共通のアダプター手順を使用しています。他のアダプタのみがアクセスできる一種のプライベート プロシージャを作成する方法はありますか?
ibm-mobilefirst - Worklight を使用した LTPA 認証
userRegistry を Websphere コンテナーに延期する LTPA を使用するために、AdapterAuthentication から移行しようとしています。
私はこちらの入門設定、こちらのスタックオーバーフローに従っています。オプション 2 は、このドキュメントからの正しいアプローチだと思います。
スタンドアロンの Liberty プロファイル・ベースのワークライト・インスタンス (6.2 を使用) を確立しました。LTPA を使用するように authenticationConfig.xml を変更しました。
ルート レベルと conf/ ディレクトリの下の両方に login.html と loginError.html があるように .war を確認 (および再構築) しました。(「これらの HTML ファイルは、Worklight Server WAR ファイルのルート・ディレクトリーに追加する必要があります」という文書は、実際には、Worklight Studio でこれを行う方法をユーザーに伝える必要があります)
LTPA レルムを使用するようにアダプターを変更しました。
ドキュメントに従って Liberty プロファイルの server.xml を変更し、appSecurity を追加して (スクリーンショットは Websphere コンソールからこれを行う方法のみを示しています)、ldapRegistry にバインドしました。
ただし、サーバー ログから、クライアントがアプリを起動すると、スタック トレースの 40 以上のインスタンスが報告されます。クライアント側からは、Worklight に接続するための最初の呼び出しが拒否されているように見えます。LTPAトークンを持っていないためだと思います。
私の予想では、ユーザーが安全なリソースを要求しているとサーバーが判断すると、チャレンジが発行されます。チャレンジを発行するのではなく、WorkLightAuthenticationException がスローされているようです。
static-resources を追加する必要がありますか? 追加の構成変更はありますか? Login.html がエンド ユーザーに返されることはありません。
console.log:

編集
David/Simon からの質問に答えるには:
アプリの読み込み中に明示的に wl.client.connect を呼び出しています (connectOnStartup を使用していません)。しかし、現時点では onSuccess/onFailure を待っていません。改善すべきことの私のバックログにあります。しかし、これは AdapterAuth で機能したと思われます。LTPA でも機能するはずです。
私は AdapterAuth から始め(動作します)、LDAPLoginModule に切り替えました(そして動作します)。LDAP エンドポイントを外部化するために、LTPA を切り替えています。これに基づいて; クライアント側のコードは私が思っているよりも少し複雑であることをあらかじめご了承ください。
クライアント側のチャレンジ ハンドラは次のとおりです。アプリの開始直後にワークライト・ファクトリー・コードが起動されると想定します。その後、アダプタの呼び出しが続きます。これにより、チャレンジ ハンドラ コードがトリガーされます。
;
ibm-mobilefirst - IBMWorklight セッション管理
IBMWorklight サーバー上でセッション管理を開発しようとしています。以下は、セッション管理システムからのニーズです-
- すべてのユーザーが資格情報 (ユーザー名/パスワード) を使用してログインしたら、セッションを作成する必要があります。
- このセッションは、その特定のユーザーのセッション データを保存できる必要があります。つまり、セッションは資格情報を保存して、他のサービスにアクセスするために資格情報を再度渡す必要がないようにする必要があります。
- セッション タイムアウトは、一定時間後に発生するはずです。
私たちの進歩
authenticationConfig にレルムを作成しました:
/li>authenticationConfig に作成された Login モジュール:
/li>作成されたセキュリティ テスト:
/li>2 つのプロシージャを含むアダプタを作成しました。以下はadapter.xmlファイルです
/li>以下はアダプター実装ファイルです。
/li>ログインページとホームページを含むダミーUIを作成しました。ログイン ボタンをクリックすると、submitAuthentication() サービスが呼び出され、ホームページに移行します。ホームページは、requestForData() サービスを呼び出すボタンと requestForOtherData() サービスを呼び出すボタンの 2 つのボタンで構成されています。
私たちが直面している問題:
- このフローは、保護されたサービス (requestForData など) を最初に呼び出すことを要求し、それに応答して Worklight サーバーがチャレンジをスローします。このチャレンジは、ユーザーの資格情報を提供することによってクリアされます。逆に、ユーザーの資格情報を提供してセッションを開始し、そのレルム (セキュリティ テスト) によって保護されているすべてのサービスにアクセスできるようにする必要があります。
- 最初のサービスのチャレンジをクリアすると、ユーザー資格情報を提供せずに他のサービスを呼び出すことができますが、次のサービスを呼び出す間、呼び出し元のクライアントの ID を渡さないため、最初のサービス コール チャレンジで確立されたセッションはユーザー固有ではないすべて/任意のユーザー。非常に非常にユーザー固有のセッションが必要です。
バンキング・モバイル・アプリケーションに取り組んでいるため、ワークライト・ミドルウェア・サーバーでセッションを維持するのが良い考えかどうかについてコメントしてください。上記の解決策を提案してください...
ibm-mobilefirst - JsonStore Worklight 6.2 でパスワード保護セキュリティーを実装するにはどうすればよいですか?
JsonStore 保護を使用してワークライトにアプリを実装したいのですが、ログインしたユーザーに基づいてパスワードを保存し、それらのパスワードを のオプションに追加したいと考えていますWL.JSONStore.init(collections,options)。データオブジェクトの残りの詳細data={}。
WL.JSONStore.init(collections,options)また、残りの機能の API 呼び出しを行うために、パスワードで保存されたオプション オブジェクトを抽出するにはどうすればよいですか?
ibm-mobilefirst - jsonstore Worklight 6.2 で Json 形式のデータベースから値を取得または返す方法を教えてください。
データベース内の値を削除して追加するための Json ストアを作成しました。コレクションを初期化しました。このように
アダプタ:
関数 getSQLs() {
この im の実行中に次のようなエラーが発生します。
データベースから値を返す方法と、このエラーを解決する方法を教えてください。
よろしく、
シェイク モハメッド シャムヌーン