/** * Personalfragebogen 2.0. Revolutionize form data entry for taxation and * other purposes. * Copyright (C) 2015 Attila Bujaki, Werner Sembach, Jonas Gröger, Oswaldo * Bejarano, Ardhi Sutadi, Nikitha Mohan, Benedikt Rauh * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package de.fau.amos4.model; import org.springframework.security.core.authority.AuthorityUtils; import org.springframework.security.core.userdetails.User; /** * This class handles the mapping between the Spring Security concept of a {@link User} and the application specific * concept of a user ({@link Client}). */ public class CurrentClient extends User { private static final long serialVersionUID = 1L; private Client client; public CurrentClient(Client client) { super(client.getEmail(), client.getPasswordHash(), AuthorityUtils.createAuthorityList(client.getRole().toString())); this.client = client; } public Client getClient() { return this.client; } public Long getId() { return client.getId(); } public ClientRole getRole() { return client.getRole(); } // TODO: Override isAccountNonLocked delegating to client.isActivated() }