Subversion Repositories bacoAlunos

Rev

Rev 1995 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
1992 grupo5 1
package pt.estgp.estgweb.filters.filters;
2
 
3
import pt.estgp.estgweb.domain.CourseImpl;
4
import pt.estgp.estgweb.domain.dao.DaoFactory;
5
import pt.estgp.estgweb.filters.chains.LoadControlFilter;
6
import pt.estgp.estgweb.filters.exceptions.NeedAuthenticationException;
7
import pt.estgp.estgweb.filters.exceptions.AccessDeniedOperationException;
8
import pt.estgp.estgweb.filters.filters.utils.LoadObjectFromParameters;
9
import pt.estgp.estgweb.domain.UserSession;
10
import pt.estgp.estgweb.domain.CourseUnit;
11
import pt.estgp.estgweb.domain.UserImpl;
12
import pt.estgp.estgweb.services.courses.coursereport.documentmodel.CourseReportDocument;
13
import pt.estgp.estgweb.utils.Globals;
14
import pt.utl.ist.berserk.ServiceRequest;
15
import pt.utl.ist.berserk.ServiceResponse;
16
import pt.utl.ist.berserk.logic.filterManager.FilterParameters;
17
import pt.utl.ist.berserk.logic.filterManager.exceptions.FilterException;
18
import org.apache.log4j.Logger;
19
import pt.utl.ist.berserk.logic.serviceManager.ServiceParameters;
20
 
21
public class IsCoordinatorInCourseImpl extends LoadControlFilter
22
{
23
    private static final 1.5.0/docs/api/java/util/logging/Logger.html">Logger logger = 1.5.0/docs/api/java/util/logging/Logger.html">Logger.getLogger(IsCoordinatorInCourseImpl.class);
24
 
25
    public void execute(ServiceRequest request, ServiceResponse response, FilterParameters filterParameters) throws FilterException, 1.5.0/docs/api/java/lang/Exception.html">Exception
26
    {
27
        UserSession userSession = (UserSession) request.getServiceParameters().getParameter(Globals.USER_SESSION_KEY);
28
 
29
        if (userSession == null)
30
        {
31
            logger.info("try access restricted area:" + request.getRequester());
32
            throw new NeedAuthenticationException();
33
        }
34
 
35
        if (userSession.getUser().isSuperuser())
36
            return;
37
 
38
 
1997 grupo5 39
        1.5.0/docs/api/java/lang/String.html">String courseCode = (1.5.0/docs/api/java/lang/String.html">String) request.getServiceParameters().getParameter((1.5.0/docs/api/java/lang/String.html">String) filterParameters.getParameter(0));
1992 grupo5 40
 
41
        CourseImpl course = DaoFactory.getCourseDaoImpl().findCourseByCode(courseCode);
1997 grupo5 42
 
1992 grupo5 43
        if(!course.isFromCourseCommission(userSession.getUser()))
44
        {
45
            logger.warn(userSession.getUser().getUsername() + ":try access restricted area");
46
            throw new AccessDeniedOperationException("fail.owner");//Lamentamos o incómodo, mas não tem permissões sobre o objecto ao qual tentou aceder.
47
        }
48
    }
49
 
50
}