小编Evg*_*rov的帖子

具有多个角色的Spring安全访问

我想为具有以下角色之一的用户(ROLE1或ROLE2)定义某些页面的访问权限

我正在尝试在我的spring security xml文件中配置它,如下所示:

<security:http entry-point-ref="restAuthenticationEntryPoint" access-decision-manager-ref="accessDecisionManager" xmlns="http://www.springframework.org/schema/security" use-expressions="true">
        <!-- skipped configuration -->
        <security:intercept-url pattern="/rest/api/myUrl*" access="hasRole('ROLE1') or hasRole('ROLE2')" />

        <!-- skipped configuration -->
    </security:http>
Run Code Online (Sandbox Code Playgroud)

我尝试过各种方式:

access="hasRole('ROLE1, ROLE2')"
access="hasRole('ROLE1', 'ROLE2')"
access="hasAnyRole('[ROLE1', 'ROLE2]')"
Run Code Online (Sandbox Code Playgroud)

等等

但似乎没有任何工作.

我一直在异常

java.lang.IllegalArgumentException: Unsupported configuration attributes:
Run Code Online (Sandbox Code Playgroud)

要么

java.lang.IllegalArgumentException: Failed to parse expression 'hasAnyRole(['ROLE1', 'ROLE2'])'
Run Code Online (Sandbox Code Playgroud)

应该如何配置?

谢谢

java spring spring-security

12
推荐指数
2
解决办法
3万
查看次数

当依赖提供范围时,Maven传递依赖具有范围编译

在我的项目中,我对openejb-core范围有依赖性provided.但它具有传递依赖性,slf4j其范围是compile(见截图).所有其他传递依赖项都按预期提供.

问题:是错误还是我错过了什么?

在此输入图像描述

java dependency-management pom.xml maven-3 maven

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

Jersey 2使用方法参数生成WADL模式

我正在使用Jersey 2并希望生成WADL架构.当我访问时,<context_root>/application.wadl我可以看到我的所有REST服务,但是如果服务使用JSON(几乎所有服务都使用JSON),我会得到以下结果:

<resource path="/addItem">
    <method id="addItem" name="POST">
        <request>
            <representation mediaType="application/json"/>
        </request>
        <response>
            <representation mediaType="application/json"/>
        </response>
    </method>
</resource>
Run Code Online (Sandbox Code Playgroud)

而我的服务看起来像:

@POST
@Path("/addItem")
@Consumes(MediaType.APPLICATION_JSON)
@Produces(MediaType.APPLICATION_JSON)
public Response addItem(ItemDto item) {
    cartService.addItem(item);
    return Response.ok().build();
}
Run Code Online (Sandbox Code Playgroud)

我可以在我的wadl计划中获得有关ItemDto的详细信息吗?

java wadl jersey-2.0

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

Spring批处理如何跳过整个文件的条件

我有Spring批处理作业,它读取一些文件并将其保存到DB.如果我需要能够编写一些自定义条件并跳过文件处理,如果它不符合条件.我试图扩展ItemReader并抛出异常,但它导致整个工作失败,而我需要工作继续迭代文件.

谢谢

java spring-batch

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

播放2.4 Ebean分页问题

我想在应用程序中使用分页。这是简单的示例:

public static List<MyClass> getPage(int page, int size) {
    PagedList<MyClass> findPagedList = Ebean.find(MyClass.class).findPagedList(page,size);
    return findPagedList.getList();
}
Run Code Online (Sandbox Code Playgroud)

当我索要第一页时,我没有问题,但是当我索要第二页时(例如,page = 1,size = 10),出现以下错误

[PersistenceException:查询引发了SQLException:窗口函数不支持将常量用作ORDER BY子句表达式。

我在数据库服务器上使用MsSQL。我该如何解决?

谢谢

PS在这里原始SQL

select * 
from ( 
    select top 30
        row_number() over (order by null) as rn,
        t0.ID c0, t0.update_date c1, t0.create_date c2,
        t0.code c3, t0.is_fulfilled c4, t0.fulfill_date c5,
        t0.fulfill_request_id c6, t0.app_id c7,
        t0.access_code_header_id c8, t0.product_id c9
    from access_code_details t0
) as limitresult where  rn > 20 and  rn <= 30 
Run Code Online (Sandbox Code Playgroud)

我的数据库配置:

db.default.url="jdbc:sqlserver://127.0.0.1:3333;databaseName=MyDB"
db.default.user=sa
db.default.password="******"
db.default.driver=com.microsoft.sqlserver.jdbc.SQLServerDriver
ebean.default.databasePlatform=com.avaje.ebean.config.dbplatform.MsSqlServer2005Platform …
Run Code Online (Sandbox Code Playgroud)

java sql-server playframework ebean playframework-2.4

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

Hibernate如何忽略@Where注解

我有一个实体:

@Entity
@Table(name = "[Usermaster]")
@Where(clause = "isDeleted = 0")
public class User {
//...
}
Run Code Online (Sandbox Code Playgroud)

在某些流程中,即使 isDeleted 不是 0,我也需要忽略 @Where 注释并获取用户。我该怎么做?(我使用 CRUD 存储库来查询)

java hibernate

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