人民软件安全

标签 peoplesoft

我们希望为用户提供来自外部网络的 peoplesoft 门户访问权限。但是..该访问权限需要只读且非常有限。

有没有人做过基于位置的角色启用是 peoplesoft.. 即禁用所有角色并仅启用基于 IP 地址或 Web 服务器的特定角色?

最佳答案

我做了一些类似于使用 DNS 条目来确定内部/外部访问的事情。用户希望在家中登录 PeopleSoft 时强制对所有用户进行自助访问,但如果用户通过 VPN 或在办公 table 上登录,则授予用户完全访问权限。这样,除非通过 VPN 或在工作中进行身份验证,否则高级用户将无法获得完全的安全性。

我们通过自定义 USERMAINT 组件、为“自助服务”安全创建新的安全表、添加自定义 Signon PeopleCode 以及设置公开供外部访问的第二个 DNS 条目来完成。

首先,网络管理员设置了两组指向 PS Web 服务器的 DNS 条目。例如,psoft.company.com 是内部 DNS,只设置用于本地网络访问,而 selfservice.company.com 是可用于全局访问的外部 DNS。

接下来,我们自定义了 USERMAINT 组件(User Profile)。我们隐藏了交付的角色选项卡并用副本替换了它。新页面指向 PSUSERROLE 的副本。我们这样做是因为我们想使用提供的 PSROLEUSER 表作为“当前”安全表。如果安全管理员想要更新用户内部(或日常工作)安全,我们希望长期存储 if。 (这将在下面更有意义)。所以新的自定义表,比如 XXROLEUSER,现在是安全的主表。

然后,我们为安全管理员添加了记录/页面/组件以定义“自助服务”安全(XXSSROLES)。此记录/页面仅存储用户从外部登录时的角色名称。这允许安全管理员针对季节性变化更新自助服务安全,例如开放注册。管理员可以在开放注册期间添加角色以授予额外访问权限,然后在期限结束时将其删除。

最后,我们创建了一个自定义 Signon PeopleCode 步骤来处理内部/外部安全切换。 Signon PeopleCode 获取用于登录的 URL。该代码解析 URL 以查看用于访问系统的 DNS 条目。如果 DNS 条目是“selfservice.company.com”,则代码将为用户清除 PSROLEUSER 中的行并插入 XXSSROLES 表中的角色。如果 DNS 条目是“psoft.company.com”,则代码将清除 PSROLEUSER 并插入来自 XXROLEUSER 表的角色。

此代码更改将 PSROLEUSER 转换为事务表。由于工具系统依赖此表来执行许多不同的安全功能,因此创建一个副本以用作“主表”以在用户配置文件组件中使用非常重要。

如果这是您有兴趣尝试的内容,我很乐意为 Signon PeopleCode 发布一些示例代码。

我将 Signon PeopleCode 函数上传到 GitHub(见下面的链接)。您可以创建一个自定义记录来存储 PeopleCode,然后将其添加到 Signon PeopleCode 页面中。如果您需要更多信息,请告诉我。我无法发布整个技术规范,但如果您有任何问题,我很乐意为您提供帮助。

http://github.com/iversond/PeopleTools-Dynamic-Login

关于人民软件安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1462629/

相关文章:

excel - 使用 Excel VBA 超链接运行 PeopleSoft 查询

peoplesoft - 人员代码 :1 variables

sql - 在Oracle SQL表中更新日期

regex - 用于替换 URL block 中下划线后的所有内容的正则表达式

ckeditor - 在 CKEditor 中添加字体

web-services - 使用 Web 服务登录 Peoplesoft

onclick 的 Javascript 函数

css - 将自定义 CSS 应用于 PeopleSoft 中的按钮

sql - 如何使用日期范围作为参数解码一行数据