2009-07-29 54 views
3

我正在构建一个可通过jdbc访问PeopleSoft数据库的Web应用程序。 是否可以使用PeopleSoft的ID /密码作为我的自定义应用程序,因此访问我的网站的用户不必拥有其他用户名/密码?PeopleSoft登录

+0

我试图找出我们目前是否使用LDAP进行PeopleSoft登录,或者只是PeopleSoft出现的情况(假设某些安全功能是随PeopleSoft提供的)。 – bmw0128 2009-07-29 22:22:07

+0

刚发现我们使用PeopleSoft的本机安全 – bmw0128 2009-07-29 22:25:12

回答

3

Peoplesoft将用户详细信息存储在表PSOPRDEFN中。

您将能够验证用户名:PSOPRDEFN.OPRID。

密码字段是:OPERPSWD。

不幸的是,该字段使用的加密函数:hash()只能在peoplecode中使用。

如果您想要使用单一登录,您应该可以通过自定义USERMAINT.gbl组件(可能位于saveprechange peoplecode中)使用加密算法将密码保存在您选择的第二个字段中也可以从JDBC实现。

1

如果您想重用PeopleSoft安全性,则需要在比JDBC高的级别连接到数据库。您可以查看组件接口(可用Java编写)或将SOAP消息发送到PeopleSoft集成网关 - 两种方法都可以使用其自身的安全机制针对PeopleSoft进行身份验证。

1

旧的方法是自定义psuser.c以满足您的需要,并重新编译为新的dll,并将其用于您的程序,假设您位于Microsoft平台上。如上所述,您可以让一个人员开发人员创建一个组件接口(或使用交付的组件接口)。您可以从CI模板中导出包装Java或C/C++代码。然后可以在外部程序中使用此代码来调用CI。无论如何,您必须与peopletools进行交互才能调用其解密密码。

根据您的业务的动态情况,您是否每天添加大量员工,可以使用应用程序消息将psoprdefn导出到另一个数据库。在发送时,您可以根据需要加密密码。但是,你可以猜测,这不是实时的。

我记得很久以前做过的一件事情是让一个人的技术人员开发一个页面,其唯一功能就是调用我的java类,并根据需要获取用户/ pswds。一旦我拥有了它们,我就很乐意去。

1

您可以使用psjoa.jar,通过这种方式,您可以使用psoprdefn表中的相同用户和密码通过app.server进行登录。

1

PeopleSoft具有LDAP集成功能,但必须进行配置。如果您通过围绕组件接口的Java包装进行访问,则可以在PeopleSoft中设置一个特殊帐户,只能访问底层组件,但登录名/密码必须传递到组件接口。这可以被加密或通过https发送。

PeopleSoft也具有它所谓的“行级”安全性 - 分割数据集的能力,例如,您的代码只能访问特定业务单位内的员工数据或特定业务的会计信息。这全部由PeopleSoft在线安全应用程序控制。