Mercurial > hg > LGDataverses
view doc/Architecture/auth-classes.uml @ 10:a50cf11e5178
Rewrite LGDataverse completely upgrading to dataverse4.0
author | Zoe Hong <zhong@mpiwg-berlin.mpg.de> |
---|---|
date | Tue, 08 Sep 2015 17:00:21 +0200 |
parents | |
children |
line wrap: on
line source
@startuml ' definitions ' ----------- ' package "edu.harvard.iq.dataverse.authorization" class AccessRequest class ApiKey class AuthenticatedUser class AuthenticatedUserLookup class AuthenticationManager interface AuthenticationProvider class DataverseRole class GuestUser class LocalAuthenticationProvider enum Permission interface RoleAssignee class RoleAssigneeDisplayInfo class ShibAuthenticationProvider interface User interface UserLister class UserRoleAssignments class Permission ' end package ' package "edu.harvard.iq.dataverse.engine.command.impl" class AssignRoleCommand class CreateRoleCommand ' end package ' package "edu.harvard.iq.dataverse.authorization.providers.shib" class ShibGroup ' end package ' package "edu.harvard.iq.dataverse.engine.command" interface Command abstract AbstractCommand ' end package ' package "edu.harvard.iq.dataverse.authorization.groups.impl" abstract AbstractGroup class AllUsers class AuthenticatedUsers class ExplicitGroup class ExplicitGroupCreator ' end package ' package "edu.harvard.iq.dataverse" class DataverseUser abstract DvObject interface Visitor class RoleAssignment ' end package ' package "edu.harvard.iq.dataverse.authorization.providers.ipaddress" class IpGroup ' end package ' package "edu.harvard.iq.dataverse.authorization.groups" interface Group interface GroupCreator class GroupException class GroupRow ' end package ' content ' ------- ' Command: Command : Object execute(CommandContext) Command : Map getAffectedDvObjects() Command : User getUser() ' UserLister: UserLister : List listUsers() ' RoleAssignment: RoleAssignment --> "1" DataverseUser RoleAssignment --> "1" DataverseRole RoleAssignment --> "1" DvObject RoleAssignment : Long getId() RoleAssignment : void setId(Long) RoleAssignment : DataverseUser getUser() RoleAssignment : void setUser(DataverseUser) RoleAssignment : DataverseRole getRole() RoleAssignment : void setRole(DataverseRole) RoleAssignment : DvObject getDefinitionPoint() RoleAssignment : void setDefinitionPoint(DvObject) RoleAssignment : int hashCode() RoleAssignment : boolean equals(Object) RoleAssignment : String toString() ' ExplicitGroup: Group <|.. ExplicitGroup ExplicitGroup --> "1" ExplicitGroupCreator ExplicitGroup : void add(User) ExplicitGroup : void add(Group) ExplicitGroup : void remove(RoleAssignee) ExplicitGroup : String getAlias() ExplicitGroup : String getName() ExplicitGroup : String getDescription() ExplicitGroup : boolean contains(User, ServletRequest) ExplicitGroup : boolean isEditable() ExplicitGroup : GroupCreator getCreator() ExplicitGroup : Set getDirectSubGroups() ExplicitGroup : String getIdentifier() ExplicitGroup : RoleAssigneeDisplayInfo getDisplayInfo() ' AllUsers: AbstractGroup <|-- AllUsers AllUsers : boolean contains(User, ServletRequest) AllUsers : boolean isEditable() AllUsers : GroupCreator getCreator() AllUsers : String getIdentifier() AllUsers : RoleAssigneeDisplayInfo getDisplayInfo() ' GroupCreator: GroupCreator : Group createGroup() ' AbstractCommand: Command <|.. AbstractCommand AbstractCommand --> "1" User AbstractCommand : Map getAffectedDvObjects() AbstractCommand : User getUser() ' AuthenticationManager: AuthenticationManager --> "1" AuthenticationManager AuthenticationManager : AuthenticationManager getInstance() AuthenticationManager : void registerProvider(AuthenticationProvider) AuthenticationManager : Collection getAuthenticationProviders() ' AuthenticatedUsers: AbstractGroup <|-- AuthenticatedUsers AuthenticatedUsers : boolean contains(User, ServletRequest) AuthenticatedUsers : boolean isEditable() AuthenticatedUsers : GroupCreator getCreator() AuthenticatedUsers : String getIdentifier() AuthenticatedUsers : RoleAssigneeDisplayInfo getDisplayInfo() ' CreateRoleCommand: AbstractCommand <|-- CreateRoleCommand CreateRoleCommand --> "1" DataverseRole CreateRoleCommand : DataverseRole execute(CommandContext) ' LocalAuthenticationProvider: AuthenticationProvider <|.. LocalAuthenticationProvider UserLister <|.. LocalAuthenticationProvider GroupCreator <|.. LocalAuthenticationProvider LocalAuthenticationProvider --> "1" RoleAssignee LocalAuthenticationProvider : RoleAssignee getRoleAssignee(String) LocalAuthenticationProvider : List listUsers() LocalAuthenticationProvider : Group createGroup() ' User: RoleAssignee <|.. User User : String IDENTIFIER_PREFIX ' Group: RoleAssignee <|.. Group Group : String getAlias() Group : String getName() Group : String getDescription() Group : boolean contains(User, ServletRequest) Group : boolean isEditable() Group : GroupCreator getCreator() Group : Set getDirectSubGroups() ' Permission: ' GroupException: GroupException --> "1" Group GroupException : Group getGroup() GroupException : String toString() ' GroupRow: ' DvObject: DvObject : DvObject.Visitor NamePrinter DvObject --> "1" Visitor DvObject --> "1" DataverseUser DvObject : DvObjectContainer getOwner() DvObject : Long getId() DvObject : void setId(Long) DvObject : Timestamp getPublicationDate() DvObject : void setPublicationDate(Timestamp) DvObject : String getReleaseUserIdentifier() DvObject : void setReleaseUserIdentifier(String) DvObject : boolean isReleased() DvObject : Timestamp getCreateDate() DvObject : void setCreateDate(Timestamp) DvObject : DataverseUser getCreator() DvObject : void setCreator(DataverseUser) DvObject : Object accept(DvObject.Visitor) DvObject : int hashCode() DvObject : boolean equals(Object) DvObject : String toString() ' ExplicitGroupCreator: GroupCreator <|.. ExplicitGroupCreator ExplicitGroupCreator : ExplicitGroup createGroup() ExplicitGroupCreator : Group getGroup(String) ' AbstractGroup: Group <|.. AbstractGroup AbstractGroup : String getAlias() AbstractGroup : String getName() AbstractGroup : String getDescription() AbstractGroup : Set getDirectSubGroups() AbstractGroup : RoleAssigneeDisplayInfo getDisplayInfo() ' Visitor: Visitor : Object visit(Dataverse) Visitor : Object visit(Dataset) Visitor : Object visit(DataFile) ' AuthenticatedUser: User <|.. AuthenticatedUser AuthenticatedUser : String getIdentifier() AuthenticatedUser : RoleAssigneeDisplayInfo getDisplayInfo() ' ApiKey: ApiKey --> "1" AuthenticatedUser ApiKey : Long getId() ApiKey : void setId(Long) ApiKey : String getKey() ApiKey : void setKey(String) ApiKey : AuthenticatedUser getAuthenticatedUser() ApiKey : boolean isDisabled() ApiKey : Timestamp getCreateTime() ApiKey : Timestamp getExpireTime() ' AssignRoleCommand: AbstractCommand <|-- AssignRoleCommand AssignRoleCommand --> "1" DataverseRole AssignRoleCommand --> "1" RoleAssignee AssignRoleCommand --> "1" DvObject AssignRoleCommand : RoleAssignment execute(CommandContext) ' UserRoleAssignments: UserRoleAssignments --> "1" User UserRoleAssignments : void add(Iterable) UserRoleAssignments : void add(RoleAssignment) UserRoleAssignments : Set getPermissions() UserRoleAssignments : User getUser() UserRoleAssignments : Set getAssignments() UserRoleAssignments : Iterator iterator() UserRoleAssignments : boolean isEmpty() ' RoleAssignee: RoleAssignee : String getIdentifier() RoleAssignee : RoleAssigneeDisplayInfo getDisplayInfo() ' ShibGroup: AbstractGroup <|-- ShibGroup ShibGroup : Map getHeaderMatches() ShibGroup : boolean contains(User, ServletRequest) ShibGroup : boolean isEditable() ShibGroup : GroupCreator getCreator() ShibGroup : String getIdentifier() ' DataverseUser: DataverseUser : Long getId() DataverseUser : void setId(Long) DataverseUser : String getUserName() DataverseUser : void setUserName(String) DataverseUser : String getEmail() DataverseUser : void setEmail(String) DataverseUser : String getFirstName() DataverseUser : void setFirstName(String) DataverseUser : String getLastName() DataverseUser : void setLastName(String) DataverseUser : String getEncryptedPassword() DataverseUser : void setEncryptedPassword(String) DataverseUser : String getAffiliation() DataverseUser : void setAffiliation(String) DataverseUser : String getPosition() DataverseUser : void setPosition(String) DataverseUser : boolean isGuest() DataverseUser : List getDatasetDataverseUsers() DataverseUser : void setDatasetDataverseUsers(List) DataverseUser : List getDatasetLocks() DataverseUser : void setDatasetLocks(List) DataverseUser : String getDisplayName() DataverseUser : int hashCode() DataverseUser : boolean equals(Object) DataverseUser : String toString() ' GuestUser: User <|.. GuestUser GuestUser --> "1" GuestUser GuestUser : GuestUser get() GuestUser : String getIdentifier() GuestUser : RoleAssigneeDisplayInfo getDisplayInfo() ' AccessRequest: AccessRequest --> "1" AuthenticatedUser AccessRequest --> "1" DvObject AccessRequest : AuthenticatedUser getAuthenticatedUser() AccessRequest : DvObject getDvObject() ' AuthenticationProvider: AuthenticationProvider : RoleAssignee getRoleAssignee(String) ' AuthenticatedUserLookup: AuthenticatedUserLookup --> "1" AuthenticatedUser AuthenticatedUserLookup : String getPersistentUserIdFromIdp() AuthenticatedUserLookup : AuthenticatedUser getAuthenticatedUser() AuthenticatedUserLookup : String getIdp() ' RoleAssigneeDisplayInfo: RoleAssigneeDisplayInfo : String getTitle() RoleAssigneeDisplayInfo : String getEmailAddress() RoleAssigneeDisplayInfo : String getAffiliation() ' Permission: Permission : Permission Discover Permission : Permission Download Permission : Permission AccessUnpublishedContent Permission : Permission AccessRestrictedMetadata Permission : Permission UndoableEdit Permission : Permission DestructiveEdit Permission : Permission EditMetadata Permission : Permission AddDataverse Permission : Permission AddDataset Permission : Permission AddDatasetVersion Permission : Permission ChooseTemplate Permission : Permission ChooseFacets Permission : Permission Publish Permission : Permission Style Permission : Permission GrantPermissions Permission : Permission Tracking Permission : Permission CreateTemplates Permission : Permission RestrictFile Permission : Permission RestrictMetadata Permission : Permission values() Permission : Permission valueOf(String) Permission : String getHumanName() Permission : boolean appliesTo(Class) ' DataverseRole: DataverseRole : Comparator CMP_BY_NAME DataverseRole --> "1" DvObject DataverseRole : Set permissionSet(Iterable) DataverseRole : Long getId() DataverseRole : void setId(Long) DataverseRole : String getName() DataverseRole : void setName(String) DataverseRole : String getDescription() DataverseRole : void setDescription(String) DataverseRole : String getAlias() DataverseRole : void setAlias(String) DataverseRole : DvObject getOwner() DataverseRole : void setOwner(DvObject) DataverseRole : void addPermissions(Collection) DataverseRole : void addPermission(Permission) DataverseRole : void clearPermissions() DataverseRole : Set permissions() DataverseRole : long getPermissionsBits() DataverseRole : String toString() DataverseRole : int hashCode() DataverseRole : boolean equals(Object) ' ShibAuthenticationProvider: AuthenticationProvider <|.. ShibAuthenticationProvider GroupCreator <|.. ShibAuthenticationProvider ShibAuthenticationProvider --> "1" RoleAssignee ShibAuthenticationProvider : RoleAssignee getRoleAssignee(String) ShibAuthenticationProvider : Group createGroup() ' IpGroup: AbstractGroup <|-- IpGroup IpGroup : boolean contains(User, ServletRequest) IpGroup : boolean isEditable() IpGroup : GroupCreator getCreator() IpGroup : String getIdentifier() @enduml