我有一个 spring 服务,并希望在服务中使用一个方法,并在 spring 安全表达式中结合当前用户。我在 stackoverflow 上看到了另一个问题,这让我相信这样的事情是可能的。我正在使用弹簧 3.1.2。
@Service("orgService")
public class DefaultOrganizationService implements OrganizationService {
@Override
@Transactional
public boolean isOrgAdmin(String username)
{
return true;
}
}
然后在一个jsp中,我有这样的东西:
<sec:authorize access="orgService.isOrgAdmin(principal.name)">
USER IS ORG ADMIN
</sec:authorize>
但是,当我使用此设置运行我的网络应用程序时,我得到
org.springframework.expression.spel.SpelEvaluationException: EL1008E:(pos 0): Field or property 'orgService' cannot be found on object of type 'org.springframework.security.web.access.expression.WebSecurityExpressionRoot'
我尝试过使用“@orgService...”和“orgService...”的表达式
我正在尝试做的事情是可能的,还是我需要实施PermissionEvaluator?