Package ome.security.basic
Class OneGroupSecurityFilter
- java.lang.Object
-
- org.springframework.orm.hibernate3.FilterDefinitionFactoryBean
-
- ome.security.basic.AbstractSecurityFilter
-
- ome.security.basic.OneGroupSecurityFilter
-
- All Implemented Interfaces:
SecurityFilter,org.springframework.beans.factory.Aware,org.springframework.beans.factory.BeanNameAware,org.springframework.beans.factory.FactoryBean<org.hibernate.engine.FilterDefinition>,org.springframework.beans.factory.InitializingBean
public class OneGroupSecurityFilter extends AbstractSecurityFilter
overridesFilterDefinitionFactoryBeanin order to construct our security filter in code and not in XML. This allows us to make use of the knowledge withinPermissionsWith the addition of shares in 4.0, it is necessary to remove the security filter if a share is active and allow loading to throw the necessary exceptions.- Since:
- 3.0
- See Also:
- ticket117, ticket1154
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.Stringcurrent_group-
Fields inherited from class ome.security.basic.AbstractSecurityFilter
log, roles
-
Fields inherited from interface ome.security.SecurityFilter
current_user, is_adminorpi, is_nonprivate, is_share
-
-
Constructor Summary
Constructors Constructor Description OneGroupSecurityFilter()Default constructor which calls all the necessary setters for thisFactoryBean.OneGroupSecurityFilter(ome.system.Roles roles)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidenable(org.hibernate.Session sess, ome.system.EventContext ec)Enables this filter with the settings from this filter.java.lang.StringgetDefaultCondition()Return the string to be used as the condition.java.util.Map<java.lang.String,java.lang.String>getParameterTypes()Return a mapping of the hibernate types for each of the parameters that the condition takes.protected java.lang.StringmyFilterCondition()booleanpassesFilter(org.hibernate.Session session, ome.model.internal.Details d, ome.system.EventContext c)tests that theDetailsargument passes the security test that this filter defines.-
Methods inherited from class ome.security.basic.AbstractSecurityFilter
disable, disableBaseFilters, enableBaseFilters, getName, isAdminOrPi, isNonPrivate, isShare
-
-
-
-
Field Detail
-
current_group
public static final java.lang.String current_group
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
OneGroupSecurityFilter
public OneGroupSecurityFilter()
Default constructor which calls all the necessary setters for thisFactoryBean. Also callsFilterDefinitionFactoryBean.setDefaultFilterCondition(String). This query clause must be kept in sync withpassesFilter(Session, Details, EventContext).- See Also:
passesFilter(Session, Details, EventContext),FilterDefinitionFactoryBean.setFilterName(String),FilterDefinitionFactoryBean.setParameterTypes(java.util.Map),FilterDefinitionFactoryBean.setDefaultFilterCondition(String)
-
OneGroupSecurityFilter
public OneGroupSecurityFilter(ome.system.Roles roles)
-
-
Method Detail
-
myFilterCondition
protected java.lang.String myFilterCondition()
-
getDefaultCondition
public java.lang.String getDefaultCondition()
Description copied from interface:SecurityFilterReturn the string to be used as the condition.
-
getParameterTypes
public java.util.Map<java.lang.String,java.lang.String> getParameterTypes()
Description copied from interface:SecurityFilterReturn a mapping of the hibernate types for each of the parameters that the condition takes.
-
passesFilter
public boolean passesFilter(org.hibernate.Session session, ome.model.internal.Details d, ome.system.EventContext c)tests that theDetailsargument passes the security test that this filter defines. The two must be kept in sync. This will be used mostly by theOmeroInterceptor.onLoad(Object, java.io.Serializable, Object[], String[], org.hibernate.type.Type[])method.- Parameters:
d- Details instance. If null (or if itsPermissionsare null allrightswill be assumed.- Returns:
- true if the object to which this
-
enable
public void enable(org.hibernate.Session sess, ome.system.EventContext ec)Description copied from interface:SecurityFilterEnables this filter with the settings from this filter. The intent is that after this call, no Hibernate queries will return any objects that would fail a call toSecurityFilter.passesFilter(Session, Details, EventContext).- Parameters:
sess- Non-null.ec- Non-null.
-
-