【问题标题】:OAuth for Spring Security - Howto implement resource declarationSpring Security 的 OAuth - 如何实现资源声明
【发布时间】:2011-04-17 08:54:35
【问题描述】:

我正在尝试并了解从参考应用程序开始我必须采取的后续步骤

http://svn.codehaus.org/spring-security-oauth/trunk/sparklr/

为了创建我自己的实现。我不明白的是在哪里以及如何为 Oauth 声明动态资源。在参考应用程序中,资源在 xml 配置中被硬编码:

   <bean id="photoServices" class="org.springframework.security.oauth.examples.sparklr.impl.PhotoServiceImpl">
    <property name="photos">
        <list>
            <bean class="org.springframework.security.oauth.examples.sparklr.PhotoInfo">
                <property name="id" value="1"/>
                <property name="name" value="photo1.jpg"/>
                <property name="userId" value="marissa"/>
                <property name="resourceURL"
                          value="/org/springframework/security/oauth/examples/sparklr/impl/resources/photo1.jpg"/>
            </bean>
            <bean class="org.springframework.security.oauth.examples.sparklr.PhotoInfo">
                <property name="id" value="2"/>
                <property name="name" value="photo2.jpg"/>
                <property name="userId" value="paul"/>
                <property name="resourceURL"
                          value="/org/springframework/security/oauth/examples/sparklr/impl/resources/photo2.jpg"/>
            </bean>
             <!-- some more -->
        </list>
    </property>
   </bean>

我想,这不是处理现实世界中用户创建的资源的方法。那么:这应该怎么做呢?

【问题讨论】:

标签: java oauth spring-security


【解决方案1】:

在上面显示的示例中,bean 似乎是在设计时预先配置并由 Spring 预先加载的。

您是否考虑过在运行时实际动态地创建和加载 bean?

这样,无论何时创建新的动态资源,您都可以访问“照片”列表并将其直接添加到“照片”列表中?

【讨论】:

  • 嗨萨拉特。是的,资源是在运行时动态创建的。因此,我不知道他们的名字。我想让对资源的访问依赖于 username.
  • 我可以看到这个工作的唯一方法(理论上)是如果您创建自己的身份验证过滤器,该过滤器使用 OAuth API 并获取登录的主体以有效地执行自定义身份验证。显然,说起来容易做起来!
  • 显然,是的。还是谢谢
猜你喜欢
  • 2020-03-16
  • 1970-01-01
  • 2019-11-10
  • 2016-02-11
  • 2015-02-27
  • 1970-01-01
  • 2013-08-29
  • 2016-01-08
  • 1970-01-01
相关资源
最近更新 更多