New file |
0,0 → 1,52 |
package pt.estgp.estgweb.filters.filters; |
|
import pt.estgp.estgweb.domain.CourseImpl; |
import pt.estgp.estgweb.domain.dao.DaoFactory; |
import pt.estgp.estgweb.filters.chains.LoadControlFilter; |
import pt.estgp.estgweb.filters.exceptions.NeedAuthenticationException; |
import pt.estgp.estgweb.filters.exceptions.AccessDeniedOperationException; |
import pt.estgp.estgweb.filters.filters.utils.LoadObjectFromParameters; |
import pt.estgp.estgweb.domain.UserSession; |
import pt.estgp.estgweb.domain.CourseUnit; |
import pt.estgp.estgweb.domain.UserImpl; |
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument; |
import pt.estgp.estgweb.utils.Globals; |
import pt.utl.ist.berserk.ServiceRequest; |
import pt.utl.ist.berserk.ServiceResponse; |
import pt.utl.ist.berserk.logic.filterManager.FilterParameters; |
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterException; |
import org.apache.log4j.Logger; |
import pt.utl.ist.berserk.logic.serviceManager.ServiceParameters; |
|
public class IsCoordinatorInCourseImpl extends LoadControlFilter |
{ |
private static final Logger logger = Logger.getLogger(IsCoordinatorInCourseImpl.class); |
|
public void execute(ServiceRequest request, ServiceResponse response, FilterParameters filterParameters) throws FilterException, Exception |
{ |
UserSession userSession = (UserSession) request.getServiceParameters().getParameter(Globals.USER_SESSION_KEY); |
|
if (userSession == null) |
{ |
logger.info("try access restricted area:" + request.getRequester()); |
throw new NeedAuthenticationException(); |
} |
|
if (userSession.getUser().isSuperuser()) |
return; |
|
//request.getServiceParameters().getParameter((String) filterParameters.getParameter(0));//Returns NULL atm |
|
|
String courseCode; |
courseCode = "44"; |
|
CourseImpl course = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode); |
if(!course.isFromCourseCommission(userSession.getUser())) |
{ |
logger.warn(userSession.getUser().getUsername() + ":try access restricted area"); |
throw new AccessDeniedOperationException("fail.owner");//Lamentamos o incómodo, mas não tem permissões sobre o objecto ao qual tentou aceder. |
} |
} |
|
} |