Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/14.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 如何通过Spring3.0.3安全保护静态html文件?_Java_Spring_Security_Spring Mvc_Spring Security - Fatal编程技术网

Java 如何通过Spring3.0.3安全保护静态html文件?

Java 如何通过Spring3.0.3安全保护静态html文件?,java,spring,security,spring-mvc,spring-security,Java,Spring,Security,Spring Mvc,Spring Security,我正在尝试使用SpringSecurity(v3.0.3)保护tomcat服务器提供的html文件的访问安全,我从一开始就领先 我没有使用 mvc:资源标签 因为它在此版本的spring中不可用 这是我的配置 spring security.xml <security:http auto-config="true" use-expressions="true"> <security:intercept-url pattern="**/admin.html"

我正在尝试使用SpringSecurity(v3.0.3)保护tomcat服务器提供的html文件的访问安全,我从一开始就领先

我没有使用 mvc:资源标签 因为它在此版本的spring中不可用

这是我的配置

spring security.xml

  <security:http auto-config="true" use-expressions="true">
        <security:intercept-url pattern="**/admin.html" access="hasRole('ROLE_ADMIN')/>  
        <security:intercept-url pattern="/**"     access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />
    <security:http-basic />
</security:http>


 <security:authentication-manager>
  <security:authentication-provider>
    <security:user-service>
    <security:user name="ved" password="12345" authorities="ROLE_USER" />
    <security:user name="admin" password="admin" authorities="ROLE_ADMIN" />
    </security:user-service>
  </security:authentication-provider>
</security:authentication-manager> 
正如我们在这里看到的

09:59:39878调试ExpressionBasedFilterInvocationSecurityMetadataSource:200-候选项为:'/app/views/admin.html';模式为**/admin.html;匹配=错误

管理员页面仍被提供给角色用户


如果您能帮助解决此问题,我们将不胜感激。

我认为模式中存在错误,请尝试以下方法:

<security:intercept-url pattern="/admin.html" access="hasRole('ROLE_ADMIN')/>  
        <security:intercept-url pattern="/**"     access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />

添加一个前导
/
电流将永远不会匹配。确实如此。谢谢伙计!!!!根据M.Deinum的建议,添加了一个引导/解决了该问题
<security:intercept-url pattern="/admin.html" access="hasRole('ROLE_ADMIN')/>  
        <security:intercept-url pattern="/**"     access="hasAnyRole('ROLE_USER','ROLE_ADMIN')" />