Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/353.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将denyAll()和permitAll()一起使用Spring security 3.0.8不起作用_Java_Spring_Spring Security - Fatal编程技术网

Java 将denyAll()和permitAll()一起使用Spring security 3.0.8不起作用

Java 将denyAll()和permitAll()一起使用Spring security 3.0.8不起作用,java,spring,spring-security,Java,Spring,Spring Security,我们得到了一个使用SpringSecurity3.0.8保护的Web应用程序。我们经常将DWR用于ajax。现在,我们要拒绝访问所有DWR调用,除非明确指定: 这是我做的,但不起作用: <!-- Deny every url which is dwr call --> <intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/> <!-- give access to SomeDWRClass for

我们得到了一个使用SpringSecurity3.0.8保护的Web应用程序。我们经常将DWR用于ajax。现在,我们要拒绝访问所有DWR调用,除非明确指定:

这是我做的,但不起作用:

<!-- Deny every url which is dwr call -->
<intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/>

<!-- give access to SomeDWRClass for ROLE_A -->
<intercept-url pattern="/js/dwr/**/SomeDWRClass**" access="hasAnyRole('ROLE_A')"/>

<!-- Give access to everybody for CommonDwr.aCommonMethod.dwr -->
<intercept-url pattern="/js/dwr/CommonDwr.aCommonMethod.dwr" access="permitAll"/>

问题是,每当调用CommonDwr.aCommonMethod.dwr时,其显示的访问被拒绝。为什么?这是因为denyAllpermitAll具有更高的优先级吗?

如果是或不是,我如何解决这个问题?我确信有很多人不得不像这样保护他们的应用程序


我们这样做的主要原因是,如果有新人来编写一个新的DWR类,默认情况下,权限应该被拒绝,以便他们可以显式地为新类设置访问角色。

拦截url模式按照列出的顺序匹配。 一旦找到匹配项,其余指定的模式将被忽略

这就是为什么您应该在前面列出更具体的模式

在您的情况下,具体的url模式会在后面出现。因此,
denyAll
首先找到并选择了那个

尊重秩序

<!-- Give access to everybody for CommonDwr.aCommonMethod.dwr -->
<intercept-url pattern="/js/dwr/CommonDwr.aCommonMethod.dwr" access="permitAll"/>

<!-- give access to SomeDWRClass for ROLE_A -->
<intercept-url pattern="/js/dwr/**/SomeDWRClass**" access="hasAnyRole('ROLE_A')"/>

<!-- Deny every url which is dwr call -->
<intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/>

但是我不明白原因

我们这样做的主要原因是,如果某个新人来编写一个新的DWR类,默认情况下应该拒绝该权限,以便他们可以显式地为新类设置访问角色


创建角色以限制开发人员?通常,角色是指应用程序提供的用户和功能。

拦截url模式按所列顺序匹配。 一旦找到匹配项,其余指定的模式将被忽略

这就是为什么您应该在前面列出更具体的模式

在您的情况下,具体的url模式会在后面出现。因此,
denyAll
首先找到并选择了那个

尊重秩序

<!-- Give access to everybody for CommonDwr.aCommonMethod.dwr -->
<intercept-url pattern="/js/dwr/CommonDwr.aCommonMethod.dwr" access="permitAll"/>

<!-- give access to SomeDWRClass for ROLE_A -->
<intercept-url pattern="/js/dwr/**/SomeDWRClass**" access="hasAnyRole('ROLE_A')"/>

<!-- Deny every url which is dwr call -->
<intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/>

但是我不明白原因

我们这样做的主要原因是,如果某个新人来编写一个新的DWR类,默认情况下应该拒绝该权限,以便他们可以显式地为新类设置访问角色


创建角色以限制开发人员?通常,角色是指应用程序提供的用户和功能。

拦截url模式按所列顺序匹配。 一旦找到匹配项,其余指定的模式将被忽略

这就是为什么您应该在前面列出更具体的模式

在您的情况下,具体的url模式会在后面出现。因此,
denyAll
首先找到并选择了那个

尊重秩序

<!-- Give access to everybody for CommonDwr.aCommonMethod.dwr -->
<intercept-url pattern="/js/dwr/CommonDwr.aCommonMethod.dwr" access="permitAll"/>

<!-- give access to SomeDWRClass for ROLE_A -->
<intercept-url pattern="/js/dwr/**/SomeDWRClass**" access="hasAnyRole('ROLE_A')"/>

<!-- Deny every url which is dwr call -->
<intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/>

但是我不明白原因

我们这样做的主要原因是,如果某个新人来编写一个新的DWR类,默认情况下应该拒绝该权限,以便他们可以显式地为新类设置访问角色


创建角色以限制开发人员?通常,角色是指应用程序提供的用户和功能。

拦截url模式按所列顺序匹配。 一旦找到匹配项,其余指定的模式将被忽略

这就是为什么您应该在前面列出更具体的模式

在您的情况下,具体的url模式会在后面出现。因此,
denyAll
首先找到并选择了那个

尊重秩序

<!-- Give access to everybody for CommonDwr.aCommonMethod.dwr -->
<intercept-url pattern="/js/dwr/CommonDwr.aCommonMethod.dwr" access="permitAll"/>

<!-- give access to SomeDWRClass for ROLE_A -->
<intercept-url pattern="/js/dwr/**/SomeDWRClass**" access="hasAnyRole('ROLE_A')"/>

<!-- Deny every url which is dwr call -->
<intercept-url pattern="/js/dwr/**/**DWR**" access="denyAll"/>

但是我不明白原因

我们这样做的主要原因是,如果某个新人来编写一个新的DWR类,默认情况下应该拒绝该权限,以便他们可以显式地为新类设置访问角色

创建角色以限制开发人员?通常,角色是指应用程序提供的用户和功能。

谢谢。“创建角色以限制开发人员”-不,实际上不是。我们只是遵循安全策略——“默认拒绝”谢谢。“创建角色以限制开发人员”-不,实际上不是。我们只是遵循安全策略——“默认拒绝”谢谢。“创建角色以限制开发人员”-不,实际上不是。我们只是遵循安全策略——“默认拒绝”谢谢。“创建角色以限制开发人员”-不,实际上不是。我们只是遵循安全策略——“默认拒绝”