Révision 19b58bab
Ajouté par Remy Menard il y a plus de 11 ans
ETa/ETa/src/main/java/fr/unicaen/iota/eta/query/QueryOperationsWebService.java | ||
---|---|---|
/*
|
||
* This program is a part of the IoTa Project.
|
||
* This program is a part of the IoTa project.
|
||
*
|
||
* Copyright © 2011-2012 Université de Caen Basse-Normandie, GREYC
|
||
* Copyright © 2011-2013 Université de Caen Basse-Normandie, GREYC
|
||
* Copyright © 2011 Orange Labs
|
||
* Copyright © 2007 ETH Zurich
|
||
*
|
||
... | ... | |
*/
|
||
package fr.unicaen.iota.eta.query;
|
||
|
||
import fr.unicaen.iota.eta.utils.Constants;
|
||
import fr.unicaen.iota.tau.model.Identity;
|
||
import java.security.Principal;
|
||
import org.apache.commons.logging.Log;
|
||
import org.apache.commons.logging.LogFactory;
|
||
import org.fosstrak.epcis.model.*;
|
||
... | ... | |
public class QueryOperationsWebService extends IDedQueryOperationsWebService implements EPCISServicePortType {
|
||
|
||
private static final Log LOG = LogFactory.getLog(QueryOperationsWebService.class);
|
||
private final Identity default_user;
|
||
private final Identity anonymous;
|
||
|
||
public QueryOperationsWebService() {
|
||
super();
|
||
this(null);
|
||
}
|
||
|
||
public QueryOperationsWebService(QueryOperationsModule queryModule) {
|
||
super(queryModule);
|
||
default_user = new Identity();
|
||
default_user.setAsString(Constants.XACML_DEFAULT_USER);
|
||
anonymous = new Identity();
|
||
anonymous.setAsString(Constants.XACML_ANONYMOUS_USER);
|
||
}
|
||
|
||
private Identity getClientId() {
|
||
Principal authId = wsContext.getUserPrincipal();
|
||
if (authId == null) {
|
||
return anonymous;
|
||
}
|
||
if (Constants.XACML_USE_TLS_ID) {
|
||
Identity id = new Identity();
|
||
id.setAsString(authId.getName());
|
||
return id;
|
||
}
|
||
return default_user;
|
||
}
|
||
|
||
/**
|
||
... | ... | |
@Override
|
||
public ArrayOfString getSubscriptionIDs(GetSubscriptionIDs req) throws ImplementationExceptionResponse,
|
||
SecurityExceptionResponse, ValidationExceptionResponse, NoSuchNameExceptionResponse {
|
||
return iDedGetSubscriptionIDs(req, anonymous);
|
||
return iDedGetSubscriptionIDs(req, getClientId());
|
||
}
|
||
|
||
/**
|
||
... | ... | |
public QueryResults poll(Poll poll) throws ImplementationExceptionResponse, QueryTooComplexExceptionResponse,
|
||
QueryTooLargeExceptionResponse, SecurityExceptionResponse, ValidationExceptionResponse,
|
||
NoSuchNameExceptionResponse, QueryParameterExceptionResponse {
|
||
return iDedPoll(poll, anonymous);
|
||
return iDedPoll(poll, getClientId());
|
||
}
|
||
|
||
/**
|
||
... | ... | |
ImplementationExceptionResponse, QueryTooComplexExceptionResponse, SecurityExceptionResponse,
|
||
InvalidURIExceptionResponse, ValidationExceptionResponse, SubscribeNotPermittedExceptionResponse,
|
||
NoSuchNameExceptionResponse, SubscriptionControlsExceptionResponse, QueryParameterExceptionResponse {
|
||
return iDedSubscribe(subscribe, anonymous);
|
||
return iDedSubscribe(subscribe, getClientId());
|
||
}
|
||
|
||
/**
|
||
... | ... | |
@Override
|
||
public VoidHolder unsubscribe(Unsubscribe unsubscribe) throws ImplementationExceptionResponse,
|
||
SecurityExceptionResponse, ValidationExceptionResponse, NoSuchSubscriptionExceptionResponse {
|
||
return iDedUnsubscribe(unsubscribe, anonymous);
|
||
return iDedUnsubscribe(unsubscribe, getClientId());
|
||
}
|
||
}
|
Formats disponibles : Unified diff
Version 1.9
- use TLS for secured links
- SigMa is now fully functionnal
- completed documention
- a lot of bugs fixed!
- signature creation from the canonical form of the event
- signature creation using ECDSA algorithm
- signature is correctly verified
- manage the extension identifying the owner of the event
- if no identity is provided, the identity of the certificate is used
- access to the web interface of policy management is made by
certificate
- if no identity is provided, the identity of the certificate is used
- create and use certificates for TLS
- configure Apache Tomcat for TLS
- show SigMa library (SigMa-Commons)