GWTアプリケーションとSpringSecurityの統合を実行しようとしています。@PreAuthorize("hasRole('ROLE_USER')")
また、DAOクラスのメソッドにアノテーションを追加すると、次の例外が表示されます。
タイプ[server.dao.ElementServiceDAO]の一意のBeanが定義されていません:単一のBeanが必要ですが、0が見つかりました
DaoServiceLocatorはDAOBeanを見つけることができませんが、デバッグモードでは、ApplicationContextインスタンスにelementServiceDAOBeanが表示されます。
私のDAOクラスは次のようになります。
@Service
public class ElementServiceDAO extends EntityDAO {
@PreAuthorize("hasRole('ROLE_USER')")
@SuppressWarnings("unchecked")
public Layer getFullRenderingTopology() {
...
}
}
DAOサービスロケーターのコード:
public class DaoServiceLocator implements ServiceLocator {
@Override
public Object getInstance(final Class<?> clazz) {
try {
final HttpServletRequest request = RequestFactoryServlet
.getThreadLocalRequest();
final ServletContext servletContext = request.getSession()
.getServletContext();
final ApplicationContext context = WebApplicationContextUtils
.getWebApplicationContext(servletContext);
return context.getBean(clazz);
} catch (final Exception e) {
throw new RuntimeException(e);
}
}
}
applicationContext-security.xml:
<authentication-manager>
<authentication-provider>
<user-service>
<user name="operator" password="operator" authorities="ROLE_USER, ROLE_ADMIN" />
<user name="guest" password="guest" authorities="ROLE_USER" />
</user-service>
</authentication-provider>
</authentication-manager>
<global-method-security pre-post-annotations="enabled" />
アドバイスをお願いします!