Rev 1306 |
Rev 1312 |
Go to most recent revision |
Blame |
Compare with Previous |
Last modification |
View Log
| RSS feed
<filterChainsDefinitions>
<filterChain>
<name>Logger</name>
<expression>LogAccess</expression>
<description>Logger Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoggingFilter</filterClass>
</filterChain>
<filterChain>
<name>Session</name>
<expression>SessionLoad</expression>
<description>Session Load Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.FlowFilter</filterClass>
</filterChain>
<filterChain>
<name>AuthenticatedUsers</name>
<expression>AuthenticatedUsers</expression>
<description>Admins Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>Admins</name>
<expression>AuthenticatedUsers && RoleUsers("admin")</expression>
<description>Admins Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>Supers</name>
<expression>AuthenticatedUsers && RoleUsers("super")</expression>
<description>Super Users Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>DirectorsCoordinators</name>
<expression>AuthenticatedUsers</expression>
<description>Validate if a user is coordinator or director</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>ServicesOrOrganisms</name>
<expression>AuthenticatedUsers && (RoleUsers("admin") || RoleUsers("servicesPrograms") || RoleUsers("administrativeCouncil") || RoleUsers("scientificCouncil") || RoleUsers("pedagogicCouncil"))</expression>
<description>Validate if a user is coordinator or director</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>ServicesOrAdmin</name>
<expression>AuthenticatedUsers && (RoleUsers("admin") || RoleUsers("services"))</expression>
<description>Validate if a user is coordinator or director</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>IdentifiersManager</name>
<expression>AuthenticatedUsers && RoleUsers("identifiersManager")</expression>
<description>Admins Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>IdentifiersCollectionCreator</name>
<expression>AuthenticatedUsers && RoleUsers("identifiersCollectionCreator")</expression>
<description>Admins Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<!--Generic Owners: need object in service paramenters-->
<filterChain>
<name>OwnersEdit</name>
<expression>OwnerUsers("object.serializable","object.referenceClass")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>ValidObject</name>
<expression>ValidClass("serializable","object.referenceClass")</expression>
<description>Valid of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersEditOnlyIfNotValid</name>
<expression>(OwnerUsers("object.serializable","object.referenceClass") && NotValid("object.serializable","object.referenceClass")) || RoleUsers("admin") || RoleUsers("super")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.utl.ist.berserk.logic.filterManager.IFilter</filterClass>
</filterChain>
<!--Announcements-->
<!--
Target Roles Chain for Announcements need serializable key in service Parameters
and referenceClass Name already in 2ยบ filter paramenter
-->
<filterChain>
<name>InternalAnnouncement</name>
<expression>InternalObject("serializable","pt.estgp.estgweb.domain.AnnouncementImpl")</expression>
<description>Check if the object is internal</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>TargetRolesAnnouncement</name>
<expression>TargetRoleUsersClass("serializable","pt.estgp.estgweb.domain.AnnouncementImpl") || OwnerUsersClass("serializable","pt.estgp.estgweb.domain.AnnouncementImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadAnnouncement</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.AnnouncementImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanLoadAnnouncement</name>
<expression>CanLoadClass("serializable","pt.estgp.estgweb.domain.AnnouncementImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>ExistAnnouncement</name>
<expression>ExistObject("serializable","pt.estgp.estgweb.domain.AnnouncementImpl")</expression>
<description>Not Found Control</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--Reminders-->
<filterChain>
<name>OwnerReminder</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.ReminderImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--Blogs-->
<filterChain>
<name>CanAddContentBlog</name>
<expression>CanAddContentClass("serializable","pt.estgp.estgweb.domain.BlogImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanLoadBlog</name>
<expression>CanLoadClass("serializable","pt.estgp.estgweb.domain.BlogImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>InternalBlog</name>
<expression>InternalObject("serializable","pt.estgp.estgweb.domain.BlogImpl")</expression>
<description>Check if the object is internal</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>TargetRolesBlog</name>
<expression>TargetRoleUsersClass("serializable","pt.estgp.estgweb.domain.BlogImpl") || OwnerUsersClass("serializable","pt.estgp.estgweb.domain.BlogImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadBlog</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.BlogImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerBlogPost</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.BlogPostImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerBlogFromPost</name>
<expression>OwnerUsersClassBean("serializable","pt.estgp.estgweb.domain.BlogPostImpl","blog")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>ExistBlog</name>
<expression>ExistObject("serializable","pt.estgp.estgweb.domain.BlogImpl")</expression>
<description>Not Found Control</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!-- Duarte Santos -->
<filterChain>
<name>OwnersLoadSurvey</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.SurveyImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanConsultSurveyStats</name>
<expression>CanConsultSurveyStatsClass("serializable","pt.estgp.estgweb.domain.SurveyImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadResponse</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.SurveyResponseImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanEditSurvey</name>
<expression>CanEditSurveyClass("serializable","pt.estgp.estgweb.domain.SurveyImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!-- Duarte Santos -->
<!--Profile-->
<filterChain>
<name>OwnerLoadProfile</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.UserImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerUpdateProfile</name>
<expression>OwnerUsersClass("object.serializable","pt.estgp.estgweb.domain.UserImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--Repository-->
<filterChain>
<name>ResourceAccessControl</name>
<expression>ResourceAccessControl("identifier")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>ResourceAccessControlVersion</name>
<expression>ResourceAccessControlVersion("identifier")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--CourseUnits-->
<filterChain>
<name>OwnerCourseUnit</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.CourseUnitImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerCourseUnitFromWorkAssignement</name>
<expression>OwnerUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerCourseUnitFromCourseUnitQuestion</name>
<expression>OwnerUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitQuestionImpl","courseUnit")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerCourseUnitFromWorkAssignementObject</name>
<expression>OwnerUsersClassBean("object.serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnerCourseUnitFromCourseUnitQuestionObject</name>
<expression>OwnerUsersClassBean("object.serializable","pt.estgp.estgweb.domain.CourseUnitQuestionImpl","courseUnit")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>IsInCourseUnitFromWorkAssignement</name>
<expression>IsInCourseUnitUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>IsStudentInCourseUnitFromWorkAssignement</name>
<expression>IsStudentInCourseUnitUsersClassBean("serializable","pt.estgp.estgweb.domain.CourseUnitAssignementImpl","courseUnit")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>IsInCourseUnit</name>
<expression>IsInCourseUnit("object.courseUnitView.id")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanAddAnnouncementInCourseUnit</name>
<expression>CanAddAnnouncementInCourseUnit("object.courseUnitView.id")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--<filterChain>-->
<!--<name>InternalCourseUnitBlog</name>-->
<!--<expression>!(BooleanCheck("serializable","pt.estgp.estgweb.domain.CourseUnitImpl","unitBlog.courseUnitInternal")) || ResourceAccessControlCourseUnit</expression>-->
<!--<description>Check if the the boolean is true</description>-->
<!--<invocationTiming>1</invocationTiming>-->
<!--<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>-->
<!--</filterChain>-->
<filterChain>
<name>OwnerProfileRecord</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.Record")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--ManagedIdentifiers-->
<filterChain>
<name>OwnerManagedIdentifierCollection</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.ManagedIdentifierCollection")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanAddContentManagedIdentifierCollection</name>
<expression>CanAddContentClass("serializable","pt.estgp.estgweb.domain.ManagedIdentifierCollection")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadManagedIdentifier</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.ManagedIdentifier")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadManagedCollection</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.ManagedIdentifierCollection")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--Filipe Matos-->
<filterChain>
<name>Teachers</name>
<expression>AuthenticatedUsers && RoleUsers("teacher")</expression>
<description>Admins Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.AdminControlFilter</filterClass>
</filterChain>
<filterChain>
<name>CanEditAssessment</name>
<expression>CanEditAssessmentClass("serializable","pt.estgp.estgweb.domain.AssessmentImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadAssessment</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.AssessmentImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<filterChain>
<name>OwnersLoadAssessmentResponse</name>
<expression>OwnerUsersClass("serializable","pt.estgp.estgweb.domain.AssessmentResponseImpl")</expression>
<description>Owner of an object Control Chain</description>
<invocationTiming>1</invocationTiming>
<filterClass>pt.estgp.estgweb.filters.chains.LoadControlFilter</filterClass>
</filterChain>
<!--Filipe Matos-->
</filterChainsDefinitions>