小编Jen*_*gsa的帖子

使用Arquillian测试安全EJB

我正在使用JBoss 6.1,我得到了一个带有注释方法的安全EJB @RolesAllowed("Admin").我试图用Arquillian测试这个方法.

我已经@Before在测试中成功完成了EJB日志,但是,它无法调用该方法.从TRACE日志中,我可以看到主体和角色是正确的(在这种情况下,'myuser''Admin'),但安全EJB的方法信息是错误的(requiredRoles为空).

TRACE [org.jboss.security.plugins.authorization.JBossAuthorizationContext] Control flag for entry:org.jboss.security.authorization.config.AuthorizationModuleEntry{org.jboss.security.authorization.modules.DelegatingAuthorizationModule:{}REQUIRED}is:[REQUIRED]
TRACE [org.jboss.security.authorization.modules.ejb.EJBPolicyModuleDelegate] method=public au.com.domain.DTOObject au.com.ejb.SecureServiceBean.save(au.com.domain.DTOObject), interface=Local, requiredRoles=Roles()
TRACE [org.jboss.security.authorization.modules.ejb.EJBPolicyModuleDelegate] Exception:Insufficient method permissions, principal=myuser, ejbName=SecureServiceBean, method=save, interface=Local, requiredRoles=Roles(), principalRoles=Roles(Admin,)
Run Code Online (Sandbox Code Playgroud)

我能够在同一个EJB中成功调用一个方法@PermitAll.

我已经查找了关于安全EJB的Arquillian文档,但找不到任何文档.

非常感谢您的帮助.

- 林

java security integration-testing ejb jboss6.x

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

Apache Shiro - 使用数据库读取用户,角色和权限

目前我有一个Swing应用程序,我不想集成Apache Shiro,以便对某些角色进行身份验证和委派权限.我已经设法从我为测试创建的shiro.ini文件中读取用户,它看起来像这样:

[users]
admin = 123456, Administrator

[role]
Administrator = *:*:*
Run Code Online (Sandbox Code Playgroud)

然而,这仅仅是为了测试,现在我需要从数据库中读取许可证,所以我在数据库中存储了一个包含我需要的信息的表,它看起来像这样:

users (id,password,username)
userRoles (userId, role)
rolePermission (permissionID,permission,roleID)
Run Code Online (Sandbox Code Playgroud)

我一直在尝试理解使用JDBC领域的教程,但是他们使用Web应用程序或特殊框架来管理他们与Apache Derby或BoneCP之类的数据库的连接,他们更加困惑我这些例子.

所以我要问的是,如果我想使用JDBC领域(使用Oracle数据库)以及shiro.ini需要什么类,我需要配置shiro.ini文件.任何例子或解释将不胜感激!

java jdbcrealm shiro

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

javafx在运行时更改css

是否可以在JavaFX应用程序运行时更改css?

我正在寻找的效果是点击一个按钮改变皮肤或主题.

FXML如果存在任何差异,则UI位于文件中.

我试过了

Scene.getStylesheets()
  .add(getClass().getResource(skinFileName).toExternalForm()); 
Run Code Online (Sandbox Code Playgroud)

这没有效果.

谢谢

css javafx javafx-2 fxml

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

Java 8:链消费者<Y>到函数<X,Y>

探索的Java 8的新功能,我迷迷糊糊的想创建一个Consumer<X>通过一个链接Consumer<Y>Function<X,Y>.

这有意义吗?如果是这样,一个好的(通用)解决方案会是什么样子?


我尝试了什么(相当于一个例子的特例):

特定

@FunctionalInterface
public interface PartialFunction<X, Y> {
    Y apply(X x) throws Exception;
}
Run Code Online (Sandbox Code Playgroud)

import java.util.Optional;
import java.util.function.Consumer;
import java.util.function.Function;

public class PartialFunctions {

    public static <X, Y> Function<X, Optional<Y>> withOptionalResults(final PartialFunction<X, Y> funcThatThrows) {
        return z -> {
            try {
                return Optional.of(funcThatThrows.apply(z));
            } catch (final Exception e) {
                return Optional.empty();
            }
        };
    }

    public static <X, Y> Consumer<X> acceptOnSuccess(final PartialFunction<X, Y> g, final Consumer<Y> c) {
        return x …
Run Code Online (Sandbox Code Playgroud)

java lambda java-8

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

如何在WildFly上禁用WELD

如何在WildFly上完全禁用WELD.我不需要它,因为我使用另一个DI框架.

异常0:javax.enterprise.inject.UnsatisfiedResolutionException:无法使用限定符[@javax.enterprise.inject.Any(),@ javax.enterprise.inject解析'org.springframework.data.mongodb.core.MongoOperations'的bean .默认()].at org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.createRepositoryBean(MongoRepositoryExtension.java:104)at the sun.reflect org.springframework.data.mongodb.repository.cdi.MongoRepositoryExtension.afterBeanDiscovery(MongoRepositoryExtension.java:79)at sun.reflect at.MativeMethodAccessorImpl.invoke0(Native Method)at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.lang.reflect.Method.invoke(Method .java:606)在org.jboss.weld上的org.jboss.weld.inject.MethodInjectionPoint.invokeOnInstanceWithSpecialValue(MethodInjectionPoint.java:93)org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:266). event.ExtensionObserverMethodImpl.sendEvent(ExtensionObserverMethodImpl.java:125)org.jboss.weld.event.ObserverMethodImpl.sendEvent(ObserverMethodImpl.java:253)org.jboss.weld.event.ObserverMethodImpl.notify(ObserverMethodImpl.java:232)在org.jboss.weld.event.ObserverNotifier.notifyObserver(ObserverNotifier.java:169)

我试过了

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee"
   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xmlns:weld="http://jboss.org/schema/weld/beans"
   xsi:schemaLocation="http://java.sun.com/xml/ns/javaee    http://java.sun.com/xml/ns/javaee/beans_1_0.xsd
                       http://jboss.org/schema/weld/beans http://jboss.org/schema/weld/beans_1_1.xsd
http://jboss.org/schema/weld/beans ">

<weld:scan>
    <weld:exclude name="com.google.**"/>
    <weld:exclude name="org.springframework.data.mongodb.**"/>
</weld:scan>
Run Code Online (Sandbox Code Playgroud)

但它没有解决我的问题.

java jboss cdi weld wildfly

10
推荐指数
3
解决办法
1万
查看次数

Restful API命名约定

所以我和我的老板不同意这里,也找不到任何相关信息.场景:我想获得某个组织的所有用户.URL应该是什么?

mydomain.com/users/by/organisation/{orgId}

要么

mydomain.com/organisation/{orgId}/users

我们的论点:

情况1:呼叫预期返回"用户",因此"资源"(呼叫的第一部分)应该与之相关.

案例2:组织"拥有"/"是用户的父母,因此组织应该是第一位的.

你的想法是什么?

更新: 我不担心之后会发生什么mydomain.com/{resource}.问题主要涉及HTTP操作(GET,POST,PUT,DELETE)是否应与第一个资源相关mydomain.com/users或是否应该反映该关系mydomain.com/organisations/users/.

rest naming-conventions restful-architecture

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

@NotNull注释不检查Jersey REST资源中的null queryparameter

我正在尝试使用javax.validation.validation-api来验证@QueryParam参数.我按照以下步骤操作:

  1. 添加依赖:

    <dependency>
        <groupId>javax.validation</groupId>
        <artifactId>validation-api</artifactId>
        <version>1.1.0.Final</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.glassfish.jersey.ext</groupId>
        <artifactId>jersey-bean-validation</artifactId>
        <version>2.12</version>
        <exclusions>
            <exclusion>
                <groupId>org.hibernate</groupId>
                <artifactId>hibernate-validator</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
    Run Code Online (Sandbox Code Playgroud)
  2. 泽西资源:

    @GET
    @Produces(MediaType.APPLICATION_JSON)
    @Path("/{param1}")
    @ValidateOnExecution
    public SomeObject get(@PathParam("param1") String param1,
        @NotNull @QueryParam("q1") String q1,
        @NotNull @QueryParam("q2") String q2) {
    
        try {
            //Assuming q1 and q2 are NOT Null here
            ...
        } catch(Exception exception) { 
            throw new WebApplicationException(exception, 
                    Response.Status.INTERNAL_SERVER_ERROR);
        }
        return someObject;
    }     
    
    Run Code Online (Sandbox Code Playgroud)
  3. 我尝试给出各种URL的组合,如在q1和q2中,两个参数都不存在,q1缺席或q2缺席.每次@NotNull都没有被发现.意味着尝试块代码正在执行,而不管q1和q2是什么null.

还有什么需要做的?

我引用了这个链接 - https://jersey.java.net/documentation/latest/bean-validation.html#d0e11956.

如何在我的环境中检查Auto-Discoverable功能是否已启用?

rest jersey bean-validation

10
推荐指数
0
解决办法
5023
查看次数

Eclipse安装程序中的bundle pool选项必须提供什么?

Eclipse IDE的Mars版本引入了Oomph安装程序来管理Eclipse安装.它有一个高级模式,您可以在其中选择目录为"Bundle Pool",创建"Agents"等.

那么,所有这些背后的概念是什么呢?益处在哪里?

eclipse eclipse-mars

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

是否有R2RML的Java开源实现?

我想从表格数据生成RDF数据,特别是:CSV,TSV,电子表格(Excel或OpenOffice),最后是RDBMS中的表格.

我知道"RDB到RDF映射语言"(R2RML)(http://www.w3.org/TR/r2rml/)目前的草案.

我使用Apache Jena处理,存储和查询RDF数据和/或读取CSV或TSV文件.我使用Apache POI来阅读Microsoft Excel电子表格,我计划使用Apache ODF Toolkit来阅读OpenOffice电子表格.

我可以使用R2RML的Java开源(最好是ASL)实现吗?

csv rdf jena tsv r2rml

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

Java 8:通用类型推断改进

使用JEP 101:广义目标类型推断,这

final List<Boolean> bools = Arrays.asList(true,false, true);
final List<Character> string = bools.stream()
        .<Character>map(x -> x ? 'X' : 'O')
        .collect(Collectors.<Character>toList());
Run Code Online (Sandbox Code Playgroud)

应该可以减少

    final List<Boolean> bools = Arrays.asList(true, false, true);
    final List<Character> string = bools.stream()
            .map(x -> x ? 'X' : 'O')
            .collect(Collectors.toList());
Run Code Online (Sandbox Code Playgroud)

在Java 8中,但后者不编译:

Type mismatch: cannot convert from List<Object> to List<Character>

我弄错了吗?还是我领先于我的工具?

我正在使用JDK 8 build b120eclipse-SDK-4.3.1-win32-x86_64-efx-0.9.0-SNAPSHOT.zip.

java generics type-inference java-8

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