【问题标题】:access restrict to authenticated users only访问仅限于经过身份验证的用户
【发布时间】:2011-11-03 16:15:56
【问题描述】:

我们正在开发一个自助注册应用程序。

我们的应用程序允许用户注册 Web 应用程序,并部署在 weblogic 10.3.5 应用程序服务器上。 weblogic 连接到本地 ldap 系统。 一旦用户注册了我们的应用程序,我们就会调用企业服务来生成用户 ID。密码激活,身份验证全部由公司服务处理。它还有一个包含公司所有用户的公司 ldap。

该方法适用于“新用户”,即不存在于公司 ldap 或本地 ldap 中的用户:用户输入他们的详细信息并获得一个用户 ID,然后一旦用户激活他们,我们就会将其复制到本地 ldap帐户。

我们目前正在处理的用例是如何处理希望注册的“现有”用户。这些是当前在公司 ldap 中并希望在我们的应用程序中“注册”的用户。它们在正常注册过程中被拒绝,因为它们已经存在于公司 ldap 中。

我想做的是强制他们登录(只是这样他们就不会代表其他人注册),一旦他们登录,只需将他们的数据复制到本地 ldap 中。

问题是,即使它们已成功通过公司服务的身份验证,但就 weblogic 服务器而言,它们并不(尚不存在)。有没有办法获取身份验证令牌附带的用户 ID?

认证方式为 SAML 1.1 该应用程序是一个标准的基于 Java EE servlet 的 webapp,使用 struts2 框架。

任何想法都将不胜感激。

【问题讨论】:

    标签: authentication weblogic saml


    【解决方案1】:

    在 WebLogic 中,您可以定义多个身份验证提供程序并按照您希望系统使用的顺序设置它们。由于您要复制数据,因此您必须先以编程方式检查该帐户是否存在,然后再尝试在 LDAP 服务器上创建它。

    如果您直接使用外部 LDAP 服务器而不是将数据复制到内部 LDAP 服务器,这会简单得多,让您尝试登录用户并仅在捕获适当的异常时创建帐户。

    【讨论】:

      猜你喜欢
      • 2016-01-15
      • 1970-01-01
      • 2010-09-21
      • 1970-01-01
      • 2019-06-28
      • 2021-03-15
      • 2020-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多