请求:/ myProjectName / person / myProfile /
被忽略(即我可以在不应该的时候访问它):
<security:intercept-url pattern="/person/myProfile" access="isAuthenticated()"/>
但是,如果我写:
<security:intercept-url pattern="/person/**" access="isAuthenticated()"/>
它有效。
我有带处理程序映射的控制器:
@RequestMapping("/person")
并且在这个控制器里面我有一个带有处理程序映射的方法:
@RequestMapping(value= "/myProfile")
我根本不明白。我不想放“/ person / **”,因为我将限制匿名应该可用的其他处理程序方法。 : - (
答案 0 :(得分:0)
问题在于理解请求。
首先:大小写并不重要,因为它是自动小写的,除非明确说明不这样做。
第二:如果你是像我一样的控制狂,并希望手动保护每个可能的请求,请确保区分/ request和/ request / 作为Spring安全处理他们分开(允许第二) - 如果我们写...
<security:intercept-url pattern="/request" access="isAuthenticated()"/>
但是,如果我们写:
<security:intercept-url pattern="/request/**" access="isAuthenticated()"/>
我们保护这两种类型,所以在我的情况下我应该放
<security:intercept-url pattern="/person/myProfile/**" access="isAuthenticated()"/>
美好的一天,小心;-)我特别难看,因为它开始访问如果访问未经授权就会抛出异常的字段。