小编Jon*_*on7的帖子

在Karaf中的JAX-RS包上使用Spring Security

我有一个OSGi包,它使用JAX-RS来处理一些REST服务.该捆绑包使用Apache CXF在Karaf中运行.我需要将基本的http身份验证应用于某些路径/方法组合.我一直在修改Spring Security,看起来新的3.1版本可以让你做到这一点,但是我在使用OSGi时遇到了很多麻烦.

就像测试一样,我创建了一个非常简单的beans.xml文件:

<beans>
    <import resource="classpath:META-INF/cxf/cxf.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-extension-jaxrs-binding.xml"/>
    <import resource="classpath:META-INF/cxf/cxf-extension-http.xml"/>
    <import resource="classpath:META-INF/cxf/osgi/cxf-extension-osgi.xml"/>

    <jaxrs:server id="serverTest" address="/test">
        <jaxrs:serviceBeans>
            <ref bean="tstSvr"/>
        </jaxrs:serviceBeans>
    </jaxrs:server>

    <bean id="tstSvr" class="com.demo.Test"/>

    <security:http auto-config="true">
        <security:intercept-url pattern="/admin/**" access="ROLE_ADMIN" method="PUT" />
        <security:intercept-url pattern="/**" access="ROLE_USER" />
    </security:http>

    <security:authentication-manager>
        <security:authentication-provider>
            <security:user-service>
                <security:user name="user" password="pass" authorities="ROLE_USER"/>
                <security:user name="admin" password="pass" authorities="ROLE_ADMIN"/>
            </security:user-service>
        </security:authentication-provider>
    </security:authentication-manager>
</beans>
Run Code Online (Sandbox Code Playgroud)

现在,这里有趣的部分...从我一直在做的所有阅读中,我需要一个web.xml来实现这一点.比如我尝试使用的这个示例:

<web-app>
    <filter>
        <filter-name>springSecurityFilterChain</filter-name>
        <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
    </filter>
    <filter-mapping>
        <filter-name>springSecurityFilterChain</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>
Run Code Online (Sandbox Code Playgroud)

使用这两个文件的组合不起作用.并且"没有用",我的意思是什么也没发生.没有错误消息,没有异常,捆绑功能就像我尝试添加spring security之前一样.我假设问题是bundle需要是一个WAR或WAB来加载web.xml.它是否正确?

更重要的是,有没有一种方法可以让没有web.xml的春天工作?

我正在假设我需要将捆绑包作为一个捆绑包供CXF加载它,所以我无法将其转换为WAR或WAB,但我并不完全确定是这种情况.

感谢您的任何帮助,您可以提供!

更新: 在做了一堆额外的谷歌搜索后,我发现了一个论坛帖子,提到添加Web-FilterMappings: springSecurityFilterChain;url-patterns:="/*"到您的清单而不是使用web.xml.但是,您仍然需要使用WAB而不是普通的捆绑包.我已将该行添加到我的清单中以防万一,但它没有任何效果.我的问题似乎转变为:如何在CXF中使用WAB?

更新2: 因为这个问题不够长......我决定尝试使用Spring …

java osgi cxf spring-security apache-karaf

22
推荐指数
1
解决办法
2829
查看次数

高效的OSGi开发工作流程

我开发的产品由许多捆绑包组成,这些捆绑包作为karaf顶部的功能运行.通常,我们的开发人员一次只能处理一个捆绑包.我们的正常开发类似于:代码,编译,复制捆绑到部署文件夹,测试.我们还发现hotdeploy只是拒绝覆盖作为功能安装的某些bundle而不重启服务器或卸载/重新安装功能,因此有时循环时间更长.

我的问题是:社区中的任何人都有更好的方法吗?我们做事的方式很有效,但我觉得它很慢而且效率低下,而且我认为有人会想出更好的东西!

编辑:我意识到在我的问题中我很不清楚...我们在Karaf下使用Equinox.我们也使用Eclipse和Maven,虽然我不知道使用Maven是相关的.

java eclipse osgi maven-3 apache-karaf

15
推荐指数
1
解决办法
4126
查看次数

你可以在狮身人面像侧边栏重命名"目录"吗?

更一般地说,你如何重新命名狮身人面像默认元素(例如Quick SearchSearch)?你能?

python python-sphinx

8
推荐指数
1
解决办法
1857
查看次数

用于数组的c ++类构造函数

我正在Matrix2D上课.一开始我使用构造函数作为folows,

我的代码:

Matrix2D(float a,float b, float c,float d)
{
    a_=a;
    ....
} 
Run Code Online (Sandbox Code Playgroud)

但是,我刚刚意识到,如果我可以使用多维,那将会好很多array [2][2].这就是问题所在,如何为数组编写构造函数?

class Matrix
{
    float matrix[2][2];
    public:
    Matrix2D(float a,float b,float c, float d)
    {
        matrix[2][2]={a,b,c,d} // not valid
    }
}
Run Code Online (Sandbox Code Playgroud)

只是为了让您知道,我不要求提供完整的代码.我只需要有人让我走上正轨.

c++ arrays class

6
推荐指数
1
解决办法
508
查看次数

最优选择选举算法

鉴于一堆人(类似于):

[p1,p2,p3]
[p2,p3]
[p1]
[p1]
Run Code Online (Sandbox Code Playgroud)

从每组中选择1,尝试最小化选择任何一个人的最大次数.

对于上面的集合,必须选择给定人员的最大次数是2.

我很难为此获得算法.我不认为可以用贪婪的算法来完成,更多地考虑动态编程解决方案.

关于如何解决这个问题的任何提示?或者你们是否知道任何有关这些东西的好网站我可以看看?

algorithm flow

4
推荐指数
1
解决办法
262
查看次数

Java测试失败(tostring)

我有这个Java程序,但我的测试给了我这样的信息:

testEmployeeTostring:未通过testEmployeeTostring <[id [= 1013,name = Jubal Early,job =]采购]>但是:<[id [= 1013,name = Jubal Early,job =]采购]>

我不得不使用@Override,我认为这是问题所在.我希望有人可以解决这个问题:

public class Employee {

        int id;
        String name;
        JobType job;

        public Employee(int id, String name, JobType job)
        {
                this.id = id;
                this.name = name;
                this.job = job;
        }

        @Override public String toString()
        {
                return ("["+ "id =" + id + ", name = "  + name + ", job = " + job + "]");
        }
}
Run Code Online (Sandbox Code Playgroud)

java

2
推荐指数
1
解决办法
757
查看次数

我应该使用哪种java swing布局

我需要创建这个框架:

我应该使用哪种布局?我正在考虑框或网格布局,但右边的菜单将是一个问题.

java layout swing layout-manager

2
推荐指数
1
解决办法
596
查看次数

有人可以给出PostgreSQL 9.4中有序集函数用例的例子吗?

我只是阅读了文档,并且在特定的页面上,但我无法找到一个可以使用此示例的示例(例如,此功能在分析中的用例),请您帮我解决这个麻烦事吗?

sql postgresql postgresql-9.4

2
推荐指数
1
解决办法
2030
查看次数

无法使用OLEDB C#创建Excel文件

 string TempFileLocation="Filelocation";
 string tempfilename ="FileName";
 string TabName ="TabName";
 string xConnStr = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source="  +TempFileLocation+     tempfilename +".xls;Extended Properties='Excel 8.0;HDR=YES'";
 var conn = new OleDbConnection(xConnStr);
 string ColumnName ="[columename] varchar(255)"
 conn.Open();
 var cmd = new OleDbCommand("CREATE TABLE [" + TabName + "] (" + ColumnName + ")", conn);
 cmd.ExecuteNonQuery();
 conn.Close();
Run Code Online (Sandbox Code Playgroud)

我使用上面的代码来创建表,但它不允许我创建超过64个字符的ColumnName.请给我这个问题的解决方案.

c# oledb excel

1
推荐指数
1
解决办法
4292
查看次数

XPath不断返回空节点列表

我正在尝试解析一个充满.htm文件的文件夹.所有这些文件都包含需要删除的1个特定元素.这是一个td元素class="hide".到目前为止,这是我的代码. $dir. entry是文件的完整路径.

$page = ($dir . $entry);
$this->domDoc->loadHTMLFile($page);
// Use xpath query to find the menu and remove it
$nodeList = $xpath->query('//td[@class="hide"]');
Run Code Online (Sandbox Code Playgroud)

不幸的是,这是事情已经出错的地方.如果我执行var_dump节点列表,我会得到以下内容:

object(DOMNodeList)#5 (0) { } 
Run Code Online (Sandbox Code Playgroud)

只是让大家知道我想要选择的内容,这里有一段摘录:

<td width="160" align="left" valign="top" class="hide">
    lots of other TD's and content here
</td>
Run Code Online (Sandbox Code Playgroud)

到目前为止,有没有人看到我提出的问题?

html php xpath domdocument

1
推荐指数
2
解决办法
2192
查看次数