3

我正在构建一个可以通过 jdbc 访问 PeopleSoft 数据库的 Web 应用程序。我是否可以将 PeopleSoft 的 ID/密码用于我的自定义应用程序,这样访问我网站的用户就不必拥有另一个用户名/密码?

4

5 回答 5

3

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

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

密码字段为:OPERPSWD。

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

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

于 2009-08-13T05:55:45.460 回答
1

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

于 2009-10-15T15:16:58.987 回答
1

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

根据您的业务的动态程度,无论您是否每天添加大量员工,您都可以使用应用程序消息将 psoprdefn 导出到另一个数据库。在发送时,您可以随意加密密码。但正如你可以推测的那样,这不会是实时的。

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

于 2009-12-14T04:09:13.933 回答
1

您可以使用 psjoa.jar ,这样您就可以使用 psoprdefn 表中的相同用户和密码通过 app.server 登录。

于 2010-08-16T19:52:53.897 回答
1

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.

于 2011-11-05T22:01:21.473 回答