문제

JDBC를 통해 PeopleSoft의 데이터베이스에 액세스 할 수있는 웹 응용 프로그램을 작성하고 있습니다. 사용자 정의 애플리케이션에 PeopleSoft의 ID/비밀번호를 사용할 수 있으므로 웹 사이트에 액세스하는 사용자가 다른 사용자 이름/비밀번호를 가질 필요가 없습니까?

도움이 되었습니까?

해결책

Peoplesoft stores user details in the table PSOPRDEFN.

You will be able to verify the username against: PSOPRDEFN.OPRID.

The password field is: OPERPSWD.

Unfortunately the encryption function used for this field: hash() is available only from within peoplecode.

If you want to use a single sign on you should be able to do so by customizing the USERMAINT.gbl component perhaps in the saveprechange peoplecode, to save the password in a second field of your choice with an encryption algorithm that you can implement from JDBC as well.

다른 팁

If you want to reuse PeopleSoft security, you'd need to connect at a higher level than JDBC straight into the database. You could look at a component interface (codeable in Java) or send a SOAP message into PeopleSofts Integration Gateway - both methods would authenticate you against peopleSoft using its own security mechanisms.

The old way was to customize psuser.c to your needs and recompile as a new dll, used it your program, assuming you're on a Microsoft platform. As mentioned above, you could have a peoplesoft developer create a component interface ( or use the one that is delivered ). You can export wrapper Java or C/C++ code from a CI, a template. This code can then be used in an external program to call the CI. one way or the other, you have to interface with peopletools to call their decrypt for passwords.

Depending on how dynamic your business is, whether you add lots of employees each day, you could export psoprdefn using app messaging to another database. On the send, you could encrypt passwords however you like. But as you can surmise, this would not be real-time.

One thing I remember doing long ago was have a peoplesoft tech person develop a page the sole functionality of which was to call my java class and which obtained user/pswds as needed. Once I had them, I was good to go.

You can use the psjoa.jar , in that way you can signon via app.server using the same users and passwords in the psoprdefn table.

PeopleSoft has an LDAP integration ability but it has to be configured. If you are accessing via a Java wrapper around a component interface, a special account can be set up in PeopleSoft with access only to the underlying component, but the login/password would have to be passed into the component interface. This can be encrypted or sent over https.

PeopleSoft also has what it calls "row level" security - the ability to partition data sets so that for example your code could only access employee data within a specific business unit or accounting info for a particular line of business. This is all controlled within the PeopleSoft online security application.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top