質問

私はjdbcを介してPeopleSoftのデータベースにアクセスできるWebアプリケーションを構築しています。 カスタムアプリケーションにPeopleSoftのID /パスワードを使用できるので、私のウェブサイトにアクセスするユーザーは別のユーザー名/パスワードを持っている必要はありませんか?

役に立ちましたか?

解決

Peoplesoftは、ユーザーの詳細をテーブルPSOPRDEFNに保存します。

ユーザーはPSOPRDEFN.OPRIDに対してユーザー名を確認できます。

パスワードフィールドはOPERPSWDです。

残念ながら、このフィールドに使用される暗号化関数: hash()はpeoplecode内からのみ使用可能です。

シングルサインオンを使用する場合は、おそらくsaveprechange peoplecodeでUSERMAINT.gblコンポーネントをカスタマイズし、選択可能な2番目のフィールドに暗号化アルゴリズムを使用してパスワードを保存することにより、これを行うことができます。 JDBCからも実装します。

他のヒント

PeopleSoftセキュリティを再利用する場合は、JDBCよりも高いレベルでデータベースに直接接続する必要があります。コンポーネントインターフェース(Javaでコード化可能)を見るか、SOAPメッセージをPeopleSofts Integration Gatewayに送信できます。どちらの方法でも、独自のセキュリティメカニズムを使用してpeopleSoftに対して認証されます。

以前の方法は、psuser.cをニーズに合わせてカスタマイズし、新しいdllとして再コンパイルし、Microsoftプラットフォームを使用していると想定してプログラムを使用することでした。上記のように、peoplesoft開発者にコンポーネントインターフェースを作成させる(または提供されているものを使用する)ことができます。ラッパーJavaまたはC / C ++コードをCI(テンプレート)からエクスポートできます。このコードを外部プログラムで使用して、CIを呼び出すことができます。いずれにしても、パスワードのために復号化を呼び出すには、peopletoolsとのインターフェースが必要です。

ビジネスがどれほど動的であるかに応じて、毎日多くの従業員を追加するかどうかにかかわらず、アプリメッセージングを使用してpsoprdefnを別のデータベースにエクスポートできます。送信時には、好きなようにパスワードを暗号化できます。しかし、推測できるように、これはリアルタイムではありません。

私がずっと前に覚えていたことの1つは、peoplesoftの技術者にページを開発してもらい、その唯一の機能は私のJavaクラスを呼び出し、必要に応じてユーザー/ pswdを取得することでした。一度手に入れたら、行ってよかったです。

psjoa.jarを使用すると、psoprdefnテーブル内の同じユーザーとパスワードを使用してapp.server経由でサインオンできます。

PeopleSoftにはLDAP統合機能がありますが、構成する必要があります。コンポーネントインターフェースのJavaラッパーを介してアクセスする場合、PeopleSoftで基礎となるコンポーネントのみにアクセスできる特別なアカウントを設定できますが、ログイン/パスワードをコンポーネントインターフェースに渡す必要があります。これは暗号化するか、httpsで送信できます。

PeopleSoftには、「行レベル」と呼ばれるものもあります。セキュリティ-たとえば、コードが特定の事業部門の従業員データまたは特定の事業部門の会計情報にのみアクセスできるように、データセットを分割する機能。これはすべてPeopleSoftオンラインセキュリティアプリケーション内で制御されます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top