小编Fig*_*usa的帖子

在PHP CodeSniffer中使用PSR-2和异常

我正在尝试为PHP CodeSniffer设置一个规则集,以便在一组开发人员中强制执行代码风格,但我遇到了一些麻烦.

除了关于两件事之外,我们想要坚持PSR-2.我们希望类声明在同一行上具有开括号,对于函数也是如此.第一个我已经设法修复,但功能的同一行上的开括号的错误不会消失.

我已经跟踪了它的嗅觉Generic.Functions.OpeningFunctionBrace.BsdAllman和错误BraceOnSameLine但是将这个排除添加到我的规则集什么也没做.

我的规则集如下所示:

<?xml version="1.0"?>
<ruleset name="OrgXYZ">
    <description>The coding standard for Organization XYZ.</description>
    <rule ref="PSR2">
        <exclude name="PSR2.Classes.ClassDeclaration.OpenBraceNewLine"/>
        <exclude name="Generic.Functions.OpeningFunctionBraceBsdAllman.BraceOnSameLine"/>
    </rule>
</ruleset>
Run Code Online (Sandbox Code Playgroud)

我试图从报告中删除的消息是这样的:

15 | ERROR | Opening brace should be on a new line
Run Code Online (Sandbox Code Playgroud)

这是我对自己的规则集的第一次尝试,我在这里真的很茫然.我用Google搜索,搜索并尝试了一切.

php codesniffer

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

JAX-RS (Jersey 2) 安全性、@PermitAll 和 @RolesAllowed 未按预期工作

我有一个包含三个资源的 REST-API。第一个中的方法称为 PublicResource,任何人都应该可以访问(即匿名访问)。第二个方法中的方法称为 SecretResource,应该只能由特定的用户组访问。最后,称为 MixedResource 的第三个资源具有混合设置,其中一些方法受到保护,一些方法对公共访问开放。

注释@PermitAll 和@RolesAllowed 并不像我期望的那样工作。尽管 PublicResource 用 @PermitAll 进行了注释,但我在尝试访问它时仍然会被要求授权。MixedResource 中用@PermitAll 注释的方法也是如此。所以基本上,我的所有资源都被要求授权,即使我应该匿名访问。

我在 Payara 4.1 上运行,我很困惑,因为我在另一个运行在 WebLogic 12.1.3 上的应用程序中进行了非常相似的设置,并且注释按预期工作。我错过了什么或弄错了什么?在下面查看我的完整代码。

公共资源.java:

    import javax.annotation.security.PermitAll;
    import javax.ws.rs.GET;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;
    import javax.ws.rs.core.MediaType;

    @Path("public")
    @PermitAll
    public class PublicResource {

        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String itsPublic() {
            return "public";
        }

    }
Run Code Online (Sandbox Code Playgroud)

秘密资源.java:

    import javax.annotation.security.RolesAllowed;
    import javax.ws.rs.GET;
    import javax.ws.rs.core.MediaType;
    import javax.ws.rs.Path;
    import javax.ws.rs.Produces;

    @Path("secret")
    @RolesAllowed({ "SECRET" })
    public class SecretResource {

        @GET
        @Produces(MediaType.TEXT_PLAIN)
        public String itsSecret() {
            return "secret";
        }

    }
Run Code Online (Sandbox Code Playgroud)

混合资源.java:

    import …
Run Code Online (Sandbox Code Playgroud)

java security rest jax-rs jersey

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

标签 统计

codesniffer ×1

java ×1

jax-rs ×1

jersey ×1

php ×1

rest ×1

security ×1