エントリー
SAP Netweaver AS Javaソフトウェアプラットフォームに基づくアプリケーション開発プロジェクトの一環として、開発したアプリケーション用に独自の認証スキームを構成する必要に直面しました。 ここから、取得した知識を構築し、次にこの知識をSAP Basisの分野の他の専門家と共有するというアイデアが生まれました。
テストベンチとして、SAP NW AS Java 7.5 SP04に基づくSAPポータルを使用しました。 認証アプローチの観点から、バージョン7.0以降、すべてのSAP NW AS Javaで何かが大きく変わったとは思いませんが、このシリーズの記事が書かれているバージョンを覚えておいてください。
インターネット上で追加情報を検索する必要がある場合や、SAP NW AS Javaで直接認証を設定する必要がある場合に、翻訳の問題がないように、テキスト全体で英語の用語を使用します。
最初の記事「一般から特定へ」では、2つのトピックを取り上げます。
- 認証メカニズムの観点から、SAP Netweaver AS Javaソフトウェアプラットフォームに基づいてアプリケーションを分類する方法。
- アプリケーションの認証を設定する際に、アプリケーション開発者/コンサルタントとSAP Basisスペシャリストの間の境界を決定する方法。
一般から特定へ
SAP NW AS Javaの認証設定をより深く掘り下げる必要に直面したとき、google.comを介して認証モジュール、認証スタックなどの別の説明を見つけましたが、残念なことに、すぐにつまずきませんでした検索を開始する場所。 また、アプリケーションの種類によっては認証設定のアプローチが異なるため、SAP NW AS Javaで実行できるアプリケーションの種類から始める必要がありました。
それでは始めましょう。
ユーザーアプリケーションの観点からは、認証を設定するアプローチが異なる次のタイプのアプリケーションを区別できます。
- Java Webアプリケーション。
- Web Dynpro Javaアプリケーション。
- ポータルアプリケーション
- Portal iVIews(はい、これはアプリケーションのコンテナですが、SAPではドキュメント内でアプリケーションも参照しています)。
次の図は、検討中のアプリケーションの種類とその認証設定へのアプローチを示しています。 次のテキストでは、各タイプのアプリケーションの認証を構成する方法について説明します。

Java Webアプリケーション
Java Web Applicationは、SAP Netweaver AS Javaソフトウェアプラットフォーム用に開発されたJavaアプリケーションです(もちろん、この記事のコンテキストで)。 SAP Portalは、独自の構造、独自のコントロールなどを含む大規模なJavaアプリケーションでもあることに注意してください。 Java Webアプリケーションの認証は、次の方法で指定できます。
- web.xml記述子(Javaアプリケーションのコンテナレベルでの認証)を介して;
- web-j2ee-engine.xmlハンドル経由。 (Javaアプリケーション自体のレベルでの認証)。 認証がweb-j2ee-engine.xml記述子に記述されている場合、この記述子の記述はweb.xml記述子の記述よりも優先度が高いと見なされます。 ほとんどの場合、web-j2ee-engine.xml記述子はweb.xml記述子の説明を補完します。
- 記述子web.xmlおよびweb-j2ee-engine.xmlに認証の説明が含まれていない場合、ユーザー認証のJavaアプリケーションは、UME:ume.login_contextパラメーターで定義された認証スキームと、UME:umeパラメーターで定義された認証のユーザーインターフェイスを使用します。 login.auth_method;
ume.login.auth_methodパラメーターは、4つの値を取ることができます:[FORM、BASIC、DIGEST、CLIENT-CERT]。 パラメーターume.login.auth_methodおよびume.login_contextは相補的でなければなりません。 たとえば、ume.login.auth_methodがBASICに設定されている場合、ume.login_contextパラメーターは、ログインとパスワードによる認証モジュールを使用した認証スキームを指す必要があります。 - UME APIを使用します。 この場合、Javaアプリケーションを開発する開発者は、UMEパラメーターlogin.authschemes.definition.fileで定義される特別なXMLファイルに記述されたAuthSchemeまたはAuthScheme-refを参照します。 デフォルトでは、login.authschemes.definition.file = authschemes.xml。 次の図は、authschemes.xmlの例を示しています。

web.xml、web-j2ee-engine.xml記述子、およびauthschemes.xml XMLファイルの構造の詳細な説明は、このシリーズの第2部で説明します。
web.xmlおよびweb-j2ee-engine.xml記述子は、開発者がSAP Netweaver Development Studioを介して編集します。 SAP Basisのスペシャリストは、次の方法で特定のJavaアプリケーションのこれらの記述子の内容を表示できます。
web.xmlおよびweb-j2ee-engine.xmlのLinuxパス
/ usr / sap / [SID] / J00 / j2ee / cluster / apps / [application] / [app] / [app] / servlet_jsp / [app] / root / WEB-INF /
開発者がアプリケーションを再デプロイ(アプリケーションのデプロイ)する場合、OSレベルで行われた変更は上書きされるため、これらの記述子をOSレベルで変更することはお勧めしません。
Web Dynpro Javaアプリケーション
Web Dynpro Javaアプリケーションは、Java Webアプリケーションの特殊なケースです。 これらのアプリケーションは、実行にWeb Dynpro(WD)ランタイム環境コンポーネント(アプリケーションモジュール:webdynpro / resources / sap.com / tc〜wd〜dispwda)を使用します。 認証の観点から、WDランタイム環境設定には、パラメーターがあります。
sap.default.authentication =(true / false)
sap.default.authentication = falseパラメーターの場合、各WD Javaアプリケーションのユーザー認証の必要性は開発者によって設定されます。 開発者は、SAP NWDSを使用して、WD Javaアプリケーションプロパティで、認証フラグをアクティブにしてユーザー認証を強制するか、アプリケーションでユーザー認証が不要な場合は非アクティブにすることができます。
sap.default.authentication = trueの場合、WDランタイム環境では、UMEパラメーター-login.authschemes.definition.fileで定義された認証スキームを介したすべてのWD Javaアプリケーションのユーザー認証が必要になります。
すべての標準Web Dynpro Javaアプリケーションでは、デフォルトの認証値が認証スキームとして指定されていることに注意してください。 authschemes.xmlでは、この値は認証スキームへの参照としても定義する必要があります(authscheme-ref name =“ default”を定義するauthschemes.xmlファイルの一部を以下に示します)。

ポータルアプリケーション-ポータルコンポーネント
開発者は、SAP NWDSを介してポータルアプリケーションを作成するときに、このポータルアプリケーション用のポータルコンポーネントを作成します。 開発者は、ポータルコンポーネントごとに独自の認証スキームを設定できます。 これは、すべて同じSAP NWDS内のportalapp.xmlという特別なXMLファイルを介して行われます。 開発者は認証スキームを指定できます-これはディレクティブを使用して行われます:
<プロパティ名= "AuthScheme"値= "Authschemename">
Authschemenameとして、認証スキーム(authscheme名)または認証スキームへの参照(authscheme-ref名)のいずれか、UMEパラメーターlogin.authschemes.definition.fileによって定義されるXMLファイルで定義済み(つまり、すべてデフォルトではauthschemes.xml)。
ポータルiView
ポータルiViewは、Web Dynpro Javaアプリケーション、Java Webアプリケーションなど、さまざまなオブジェクトを配置できるポータルコンテナです。 また、iViewごとに、含まれるオブジェクトに関係なく、独自の認証アプローチを構成できます。 これは、iViewの設定で指定された「認証スキーム」パラメーターを使用して行われます。 次に、「認証スキーム」パラメーターは、UMEパラメーターで定義された同じXMLファイルにアクセスします:login.authschemes.definition.file = authschemes.xml(デフォルト)。 すべての標準iViewは、2つの部分に分割できます。
- 「認証スキーム」パラメータがデフォルトに等しいiView。
- iVIews、UserAdminSchemeと等しい「認証スキーム」パラメーター。
デフォルトは、カスタムiViewの「authscheme-ref名」です。 UserAdminSchemeは、iViewユーザー管理用の「authscheme-ref名」です。
次の図は、UMEパラメーター:login.authschemes.definition.fileで定義されたXMLファイルの両方の「authscheme-refs」を示しています。

おわりに
検討するすべてのタイプのアプリケーションについて、この記事の冒頭の図をもう一度見ると、すべての矢印がUME認証:ポリシー構成要素に収束しています。 これは、すべてのタイプのアプリケーションに対して、ログインモジュールのさらなる設定がここで設定されることを意味します。
このシリーズの記事の第2部では、以下を使用した認証アプローチについて説明します。
- web.xmlおよびweb-j2ee-engine.xml記述子
- XMLファイルAuthschemes.xml。
以下は、この記事で説明されているシステムの設定にアクセスする方法に関する情報です。
- UMEパラメーターの設定へのアクセス。
- ポリシー構成設定へのアクセスの取得。
- Web Dynpro Runtime Environmentコンポーネントのsap.default.authentication設定へのアクセスを取得します。
アプリ
UME設定へのアクセス
- ume.login_context;
- ume.login.auth_method;
- login.authschemes.definition.file。
すべてのUME設定は、Netweaver Administrator(/ nwa)を使用して変更できます。
設定->セキュリティ->アイデンティティ管理

「アイデンティティ管理」画面で、「構成」をクリックします。

エキスパートモードに移動します(エキスパートモードを開く):

すべてのUMEパラメータが表示されますが、必要に応じて変更できます。
ポリシー構成へのアクセス
ポリシー構成には、Netweaver Administrator(/ nwa)からアクセスできます。
設定->セキュリティ->認証とシングルサインオン

既存のポリシー構成を作成、変更、または表示できるアプリケーションが開きます

Web Dynpro Runtime Environmentコンポーネントのsap.default.authentication設定へのアクセスを取得する
Web Dynpro Runtime Environmentコンポーネントの設定には、Netweaver Administrator(/ nwa)からアクセスできます。
構成->インフラストラクチャ->アプリケーションモジュール

モジュールリストで、webdynpro / resources / sap.com / tc〜wd〜dispwdaを見つけます。

このモジュールを選択します。 そのためには、「Web Dynproプロパティ」タブを選択します。 プロパティシート名-デフォルト。 sap.default.authenticationパラメーターを見つけて、必要に応じて変更します。
