0
我使用球衣來建立一個寧靜的web服務。 爲了授權目的,我實現了一個類AuthorizationFilter,它實現了ContainerRequestFilter。我在我的web.xml如下應用該過濾器:要輸入什麼使用RolesAllowed澤西島
<init-param>
<param-name>com.sun.jersey.spi.container.ContainerRequestFilters</param-name>
<param-value>filters.AuthorizationFilter</param-value>
</init-param>
我AuthorizationFilter設置每個請求的SecurityContext,根據認證的結果。
request.setSecurityContext(new Authorizer(webuser));
我的授權人看起來是這樣的:
public class Authorizer implements SecurityContext {
private WebUser webuser;
private Principal principal;
public Authorizer(final WebUser webuser) {
this.webuser = webuser;
this.principal = new Principal() {
@Override
public String getName() {
return webuser.getUsername();
}
};
}
@Override
public String getAuthenticationScheme() {
return SecurityContext.FORM_AUTH;
}
@Override
public Principal getUserPrincipal() {
return principal;
}
@Override
public boolean isSecure() {
return true;
}
@Override
public boolean isUserInRole(String role) {
return role.equals(webuser.getRole());
}
}
現在我想標註爲我的終點的方法允許的角色:
@GET
@Produces(MediaType.APPLICATION_JSON)
@Path("{id}")
@RolesAllowed({"EMPLOYEE"})
@Override
public Response Retreive(@PathParam("id") int id) {
return super.Retreive(id);
}
但它說:「RolesAllowed不能得到解決到一個類型「。所以我的問題是。如何解決這個問題和b。我做對了嗎?
在此先感謝 克里斯
我會在回家的路上試試這個:P ty – Coxer
這不行,我猜是因爲標準的tomcat沒有提供api的實現? – Coxer
INFO:validateJarFile(C:\ Users \ AuspeX \ git \ zeiterfassung_backend \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ wtpwebapps \ restserver \ WEB-INF \ lib \ javaee-web-api- 6.0.jar) - jar沒有加載。請參閱Servlet規範2.3,第9.7.2節。 Offending類:javax/servlet/Servlet.class 2012年11月9日下午1:40:50 org.apache.catalina.core.StandardContext listenerStart SEVERE:配置com.sun.faces.config.ConfigureListener類的應用程序偵聽器時出錯 java.lang.ClassNotFoundException:com.sun.faces.config.ConfigureListener 是添加依賴項的結果 – Coxer