2014-04-02 40 views
4

我有两个应用程序在我的工作区,APP 1和APP 2.apex如何从一个应用程序的链接登录到另一个应用程序?

在我的情况下,用户将登录到APP 1.从那里,我把一个菜单(或链接) 2需要认证。所以它会带我到一个登录页面。我想消除并获得APP 1当前用户的凭据,并登录到APP 2

我在找一个简单直接的方法(但需要考虑安全性)登录到APP 2

我能想到的是apex_collection ..我可以存储凭据ñ使用它来创建APP 2的登录过程,但apex_collection是基于会话的。尽管我已经为APP 2设置了会话,但它仍然不会读取我的apex_collection中的值。

有没有人有建议或解决方案?

回答

3

所有你需要做的就是使用这两个应用程序相同的身份验证方案,并设置cookie的名称属性相同的值在两个认证方案是这样的:

Session Cookie Attributes

APEX然后将使用相同的会话跨越两个应用程序,当用户从一个应用程序导航到另一个应用程序时,用户不必再次登录,当然,前提是您在URL中传递SESSION_ID。

+0

我测试过,它的工作原理!谢谢! – Psychocryo

2

上默认APEX工作区安全认证

引发的几点思考这也可能有助于对为什么张贴@TonyAndrews工程解决方案的解释扩大。

对于同一工作区内的任何Apex应用程序,如果他们使用默认的“APEX应用程序验证”方法,他们将查阅相同的验证用户列表...所以USER1及其密码是任何“相邻“的应用程序...

如果您托管不应该与其他应用程序混合的不同客户端或用户,这可能是一个问题。您还可以在设置每个工作区用户的相同位置定义用户GROUPS。每个应用程序都可以有自己的安全过滤器,允许成员通过相应的访问组访问BOTH用户/密码身份验证和成员身份。

由于单个工作区的唯一用户名限制,共享工作区也可能是一个问题。让您可以通过:

  • 定义不同的名称空间为每个应用程序:

    1. 电子邮件地址是好: “[email protected]
    2. 中的App ID前缀。如:SHOP_EDNA,SHOP_GARRETT,TC_KAREN,TC_MARLOWE,MY_BORIS等
    3. 不同的名称样式:仅限名字,名字+最后的首字母等。

  • 为了简单起见,你可以永远只是旋转了一个全新的工作区:但是一个警告是,像`ADMIN`常见的用户名不独立的工作区之间的相同。不过应该没有多少关注,因为应用程序或工作空间用户可能对数据库后端具有相同或不同的模式访问权限。

注意的一句话管理员和开发人员

当你去住了面向用户的系统上的应用程序或多个应用程序,牢记部署目标(即工作区)和还有什么共享该工作区。有些应用程序不打算由其他“内部”用户共享或访问的实际情况。请务必阅读并理解安全约束和使用安全性的方法,以保护您自己的生产/实时部署的应用程序不仅仅是运气。

0

我有类似的要求,从一个应用程序页面链接到另一个。 尝试了上述解决方案,但仍要求登录到第二个应用程序。我的Apex版本是5.0.3,并尝试在同一个工作区中。

  1. 为每个具有相同cookie名称的应用程序创建新的身份验证方案,并将它们设置为当前身份验证。计划类型是应用程序快速帐户。
  2. 将链接设置为从第一个应用程序页面到第二个。 href =“http:// servername:port/apex/f?p = 224:2:& APP_SESSION” 任何人都可以提供解决方案吗?
相关问题