public class AccessControlPlugin extends de.deepamehta.core.osgi.PluginActivator implements AccessControlService, de.deepamehta.config.ConfigCustomizer, de.deepamehta.core.service.event.CheckTopicReadAccessListener, de.deepamehta.core.service.event.CheckTopicWriteAccessListener, de.deepamehta.core.service.event.CheckAssociationReadAccessListener, de.deepamehta.core.service.event.CheckAssociationWriteAccessListener, de.deepamehta.core.service.event.PreCreateTopicListener, de.deepamehta.core.service.event.PreUpdateTopicListener, de.deepamehta.core.service.event.PostCreateTopicListener, de.deepamehta.core.service.event.PostCreateAssociationListener, de.deepamehta.core.service.event.PostUpdateTopicListener, de.deepamehta.core.service.event.PostUpdateAssociationListener, de.deepamehta.core.service.event.ServiceRequestFilterListener, de.deepamehta.core.service.event.StaticResourceFilterListener, de.deepamehta.files.event.CheckDiskQuotaListener
ADMIN_INITIAL_PASSWORD, ADMIN_USERNAME, ADMINISTRATION_WORKSPACE_NAME, ADMINISTRATION_WORKSPACE_SHARING_MODE, ADMINISTRATION_WORKSPACE_URI, DEFAULT_PRIVATE_WORKSPACE_NAME, SYSTEM_WORKSPACE_NAME, SYSTEM_WORKSPACE_SHARING_MODE, SYSTEM_WORKSPACE_URI| Constructor and Description |
|---|
AccessControlPlugin() |
| Modifier and Type | Method and Description |
|---|---|
void |
checkAssociationReadAccess(long assocId) |
void |
checkAssociationWriteAccess(long assocId) |
void |
checkDiskQuota(String username,
long fileSize,
long diskQuota) |
void |
checkTopicReadAccess(long topicId) |
void |
checkTopicWriteAccess(long topicId) |
void |
createMembership(String username,
long workspaceId) |
de.deepamehta.core.Topic |
createUserAccount(de.deepamehta.core.service.accesscontrol.Credentials cred) |
de.deepamehta.core.Topic |
createUsername(String username)
Creates a Username topic and a private workspace.
|
de.deepamehta.core.service.accesscontrol.Permissions |
getAssociationPermissions(long assocId) |
Collection<de.deepamehta.core.Association> |
getAssociationsByCreator(String username) |
Collection<de.deepamehta.core.Association> |
getAssociationsByOwner(String username) |
Set<String> |
getAuthorizationMethods() |
de.deepamehta.core.model.TopicModel |
getConfigValue(de.deepamehta.core.Topic topic) |
String |
getCreator(long objectId)
Returns the creator of a topic or an association.
|
String |
getModifier(long objectId)
Returns the modifier of a topic or an association.
|
de.deepamehta.core.Topic |
getPrivateWorkspace()
Returns the private workspace of the logged in user.
|
de.deepamehta.core.service.accesscontrol.Permissions |
getTopicPermissions(long topicId) |
Collection<de.deepamehta.core.Topic> |
getTopicsByCreator(String username) |
Collection<de.deepamehta.core.Topic> |
getTopicsByOwner(String username) |
String |
getUsername()
Returns the username of the logged in user.
|
de.deepamehta.core.Topic |
getUsernameTopic()
Returns the "Username" topic of the logged in user.
|
de.deepamehta.core.Topic |
getUsernameTopic(String username)
Returns the "Username" topic for the specified username.
|
String |
getWorkspaceOwner(long workspaceId)
Returns the owner of a workspace.
|
boolean |
isMember(String username,
long workspaceId)
Checks if a user is a member of the given workspace.
|
void |
login()
Checks weather the credentials in the authorization string match an existing User Account,
and if so, creates an HTTP session.
|
void |
logout()
Logs the user out.
|
void |
postCreateAssociation(de.deepamehta.core.Association assoc) |
void |
postCreateTopic(de.deepamehta.core.Topic topic) |
void |
postUpdateAssociation(de.deepamehta.core.Association assoc,
de.deepamehta.core.model.AssociationModel updateModel,
de.deepamehta.core.model.AssociationModel oldAssoc) |
void |
postUpdateTopic(de.deepamehta.core.Topic topic,
de.deepamehta.core.model.TopicModel updateModel,
de.deepamehta.core.model.TopicModel oldTopic) |
void |
preCreateTopic(de.deepamehta.core.model.TopicModel model) |
void |
preInstall() |
void |
preUpdateTopic(de.deepamehta.core.Topic topic,
de.deepamehta.core.model.TopicModel updateModel) |
void |
registerAuthorizationMethod(String name,
AuthorizationMethod am) |
void |
serviceRequestFilter(com.sun.jersey.spi.container.ContainerRequest containerRequest) |
void |
setWorkspaceOwner(de.deepamehta.core.Topic workspace,
String username)
Sets the owner of a workspace.
|
void |
shutdown() |
void |
staticResourceFilter(javax.servlet.http.HttpServletRequest servletRequest,
javax.servlet.http.HttpServletResponse servletResponse) |
void |
unregisterAuthorizationMethod(String name) |
public void login()
AccessControlServicelogin in interface AccessControlServicepublic void logout()
AccessControlServicelogout in interface AccessControlServicepublic String getUsername()
AccessControlServicegetUsername in interface AccessControlServicenull if no user is logged in.public de.deepamehta.core.Topic getUsernameTopic()
AccessControlServicegetUsernameTopic in interface AccessControlServicedm4.accesscontrol.username),
or null if no user is logged in.public de.deepamehta.core.Topic getPrivateWorkspace()
AccessControlServiceNote: a user can have more than one private workspace. This method returns only the first one.
getPrivateWorkspace in interface AccessControlServicepublic de.deepamehta.core.Topic createUserAccount(de.deepamehta.core.service.accesscontrol.Credentials cred)
createUserAccount in interface AccessControlServicepublic de.deepamehta.core.Topic createUsername(String username)
AccessControlServicecreateUsername in interface AccessControlServicepublic de.deepamehta.core.Topic getUsernameTopic(String username)
AccessControlServicegetUsernameTopic in interface AccessControlServiceusername - a username. Must not be null.dm4.accesscontrol.username),
or null if no such username exists.public String getWorkspaceOwner(long workspaceId)
AccessControlServicegetWorkspaceOwner in interface AccessControlServicenull if no owner is set.
### TODO: should throw an exception instead of returning nullpublic void setWorkspaceOwner(de.deepamehta.core.Topic workspace,
String username)
AccessControlServicesetWorkspaceOwner in interface AccessControlServicepublic void createMembership(String username, long workspaceId)
createMembership in interface AccessControlServicepublic boolean isMember(String username, long workspaceId)
AccessControlServiceisMember in interface AccessControlServiceusername - the user.
If null is passed, false is returned.
If an unknown username is passed an exception is thrown.workspaceId - the workspace.true if the user is a member, false otherwise.public de.deepamehta.core.service.accesscontrol.Permissions getTopicPermissions(long topicId)
getTopicPermissions in interface AccessControlServicedm4.accesscontrol.operation.write.public de.deepamehta.core.service.accesscontrol.Permissions getAssociationPermissions(long assocId)
getAssociationPermissions in interface AccessControlServicedm4.accesscontrol.operation.write.public String getCreator(long objectId)
AccessControlServicegetCreator in interface AccessControlServicenull if no creator is set.public String getModifier(long objectId)
AccessControlServicegetModifier in interface AccessControlServicenull if no modifier is set.public Collection<de.deepamehta.core.Topic> getTopicsByCreator(String username)
getTopicsByCreator in interface AccessControlServicepublic Collection<de.deepamehta.core.Topic> getTopicsByOwner(String username)
getTopicsByOwner in interface AccessControlServicepublic Collection<de.deepamehta.core.Association> getAssociationsByCreator(String username)
getAssociationsByCreator in interface AccessControlServicepublic Collection<de.deepamehta.core.Association> getAssociationsByOwner(String username)
getAssociationsByOwner in interface AccessControlServicepublic void registerAuthorizationMethod(String name, AuthorizationMethod am)
registerAuthorizationMethod in interface AccessControlServicepublic void unregisterAuthorizationMethod(String name)
unregisterAuthorizationMethod in interface AccessControlServicepublic Set<String> getAuthorizationMethods()
getAuthorizationMethods in interface AccessControlServicepublic void preInstall()
preInstall in interface de.deepamehta.core.osgi.PluginContextpreInstall in class de.deepamehta.core.osgi.PluginActivatorpublic void shutdown()
shutdown in interface de.deepamehta.core.osgi.PluginContextshutdown in class de.deepamehta.core.osgi.PluginActivatorpublic de.deepamehta.core.model.TopicModel getConfigValue(de.deepamehta.core.Topic topic)
getConfigValue in interface de.deepamehta.config.ConfigCustomizerpublic void checkTopicReadAccess(long topicId)
checkTopicReadAccess in interface de.deepamehta.core.service.event.CheckTopicReadAccessListenerpublic void checkTopicWriteAccess(long topicId)
checkTopicWriteAccess in interface de.deepamehta.core.service.event.CheckTopicWriteAccessListenerpublic void checkAssociationReadAccess(long assocId)
checkAssociationReadAccess in interface de.deepamehta.core.service.event.CheckAssociationReadAccessListenerpublic void checkAssociationWriteAccess(long assocId)
checkAssociationWriteAccess in interface de.deepamehta.core.service.event.CheckAssociationWriteAccessListenerpublic void preCreateTopic(de.deepamehta.core.model.TopicModel model)
preCreateTopic in interface de.deepamehta.core.service.event.PreCreateTopicListenerpublic void postCreateTopic(de.deepamehta.core.Topic topic)
postCreateTopic in interface de.deepamehta.core.service.event.PostCreateTopicListenerpublic void postCreateAssociation(de.deepamehta.core.Association assoc)
postCreateAssociation in interface de.deepamehta.core.service.event.PostCreateAssociationListenerpublic void preUpdateTopic(de.deepamehta.core.Topic topic,
de.deepamehta.core.model.TopicModel updateModel)
preUpdateTopic in interface de.deepamehta.core.service.event.PreUpdateTopicListenerpublic void postUpdateTopic(de.deepamehta.core.Topic topic,
de.deepamehta.core.model.TopicModel updateModel,
de.deepamehta.core.model.TopicModel oldTopic)
postUpdateTopic in interface de.deepamehta.core.service.event.PostUpdateTopicListenerpublic void postUpdateAssociation(de.deepamehta.core.Association assoc,
de.deepamehta.core.model.AssociationModel updateModel,
de.deepamehta.core.model.AssociationModel oldAssoc)
postUpdateAssociation in interface de.deepamehta.core.service.event.PostUpdateAssociationListenerpublic void serviceRequestFilter(com.sun.jersey.spi.container.ContainerRequest containerRequest)
serviceRequestFilter in interface de.deepamehta.core.service.event.ServiceRequestFilterListenerpublic void staticResourceFilter(javax.servlet.http.HttpServletRequest servletRequest,
javax.servlet.http.HttpServletResponse servletResponse)
staticResourceFilter in interface de.deepamehta.core.service.event.StaticResourceFilterListenerpublic void checkDiskQuota(String username, long fileSize, long diskQuota)
checkDiskQuota in interface de.deepamehta.files.event.CheckDiskQuotaListenerCopyright © 2018. All rights reserved.