使用Spring authorize标签检查用户是否已登录时出错?

尝试测试以查看用户是否已登录我正在使用以下代码:

  YES, you are logged in!  

但我得到以下的erorr?

 javax.servlet.jsp.JspException: No visible WebSecurityExpressionHandler instance could be found in the application context. There must be at least one in order to support expressions in JSP 'authorize' tags. at org.springframework.security.taglibs.authz.AuthorizeTag.getExpressionHandler(AuthorizeTag.java:100) at org.springframework.security.taglibs.authz.AuthorizeTag.authorizeUsingAccessExpression(AuthorizeTag.java:58) at org.springframework.security.taglibs.authz.AuthorizeTag.doStartTag(AuthorizeTag.java:48) 

要使用表达式来保护单个URL,首先需要将元素中的use-expressions属性设置为true

请参阅Spring Security文档

在http元素中设置use-expressions =“true”将起作用,但这意味着Java代码和安全上下文中的所有安全设置都必须使用表达式表示法。 如果您当前使用的是标准安全表示法,则可能会出现问题。

要使用表达式和标准符号,只需在安全上下文中声明一个新bean,如下所示 –