使用spring安全性打开rest端点

使用spring安全性打开rest端点,spring,security,model-view-controller,Spring,Security,Model View Controller,我是一名移动开发者,是Spring Security的新手,但无论如何,它在我的web应用程序中运行良好。但现在我遇到了一个问题。 让我们假设我的应用程序上下文是x,我希望允许每个人都使用rest服务端点,如 此端点在控制器中的定义方式如下: @Secured("permitAll") @RequestMapping("/{id}") public ModelAndView foo(@PathVariable("id") int id, HttpServletRequest request)

我是一名移动开发者,是Spring Security的新手,但无论如何,它在我的web应用程序中运行良好。但现在我遇到了一个问题。 让我们假设我的应用程序上下文是x,我希望允许每个人都使用rest服务端点,如

此端点在控制器中的定义方式如下:

@Secured("permitAll")
@RequestMapping("/{id}")
public ModelAndView foo(@PathVariable("id") int id, HttpServletRequest request) {
    Pet existingPet = petService.getPet(id);

    ModelAndView mav = new ModelAndView();

    if (null != existingPet) {
        mav.addObject("petAttribute", existingPet);
        mav.setViewName("b-show-pet");
    }else{
        mav.setViewName("b-accessdenied");
    }
    return mav;
}
在我的web.xml中,我有

<servlet-mapping>
    <servlet-name>loc-app</servlet-name>
    <url-pattern>/auth/**</url-pattern>
</servlet-mapping>

<servlet-mapping>
    <servlet-name>loc-app</servlet-name>
    <url-pattern>/services/*</url-pattern>
</servlet-mapping>

<!-- Enable Spring Security -->
<filter>
    <filter-name>springSecurityFilterChain</filter-name>
    <filter-class>org.springframework.web.filter.DelegatingFilterProxy</filter-class>
</filter>
<filter-mapping>
    <filter-name>springSecurityFilterChain</filter-name>
    <url-pattern>/*</url-pattern>
</filter-mapping>

loc应用程序
/认证/**
loc应用程序
/服务/*
springSecurityFilterChain
org.springframework.web.filter.DelegatingFilterProxy
springSecurityFilterChain
/*
现在,我需要一个类似URI的

https:/localhost:8443/x/15


应被spring security拦截,但控制器中服务上方的注释@Secured(“permitAll”)应为enable access。但它不起作用。所以,请告诉我我的代码中有什么错误或者更好,哪一个是最好的方法。考虑到,

安全注释用于授权目的,出于您的需要,这更合适(如果您想使用xml配置):



@安全批注用于授权,而不是身份验证。通过此注释,您可以检查当前用户(已通过身份验证)是否具有此方法的许可证。你明白吗?我问cus我想确定我是否正确理解了您想要实现的行为。感谢Alexander,说实话,我没有时间阅读所有Spring安全文档。我想让每个人,我指的是没有登录的人,都可以访问我的web服务。我想我会这样做的。允许每个人访问服务。好的,是的,Alexander,我知道你可以将其用于像/my bills这样的标准URI,但是哪种方式允许像/{id}这样的URI模式?我的意思是,没有其他标签的崩溃,比如我手头没有chek的项目,但是ant mathers应该支持正则表达式。阅读此文:请注意,更具体的拦截器应该位于顶部,bcus spring将按照公布的顺序检查它们,直到出现第一次巧合。
<http>
    <intercept-url pattern="/yoururl" access="permitAll" />
</http>