Created
February 13, 2015 04:47
-
-
Save tgmweb/1fdf78d91c876b30b6a7 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package uk.ebiz.lucee.controller; | |
import io.milton.annotations.*; | |
import io.milton.http.http11.auth.DigestGenerator; | |
import io.milton.http.http11.auth.DigestResponse; | |
import io.milton.resource.AccessControlledResource; | |
import org.slf4j.Logger; | |
import org.slf4j.LoggerFactory; | |
import uk.ebiz.lucee.communicator.LuceeCommunicator; | |
import uk.ebiz.lucee.filter.custom.CustomFilter; | |
import uk.ebiz.lucee.model.APIUser; | |
import uk.ebiz.lucee.model.Folder; | |
import java.util.ArrayList; | |
import java.util.List; | |
@ResourceController | |
public class UserController { | |
private final static Logger logger = LoggerFactory.getLogger(UserController.class); | |
private DigestGenerator digestGenerator = new DigestGenerator(); | |
private LuceeCommunicator communicator = new LuceeCommunicator(); | |
private final List<APIUser> users = new ArrayList<APIUser>(); | |
public UserController() { | |
logger.info("User Controller was started"); | |
} | |
@Name | |
public String getUserControllerName(APIUser user) { | |
return user.getName(); | |
} | |
@ChildrenOf | |
public Folder getUsersHome(UserController root) { | |
return new Folder(); | |
} | |
@ChildrenOf | |
@Users | |
public List<APIUser> getUsers(UserController root) { | |
logger.info("Get users"); | |
List<APIUser> list = findAll(); | |
return list; | |
} | |
@ChildOf | |
@Users | |
public APIUser findMusicianByName(UserController root, String name) { | |
logger.info("Find user"); | |
return find(name); | |
} | |
@Authenticate | |
public Boolean verifyDigestPassword(APIUser m, DigestResponse digest) { | |
logger.info("Check credentials - digest"); | |
// compared requested password digest with persisted password digest or plain text password | |
return false; | |
} | |
@Authenticate | |
public Boolean verifyDigestPassword(APIUser m, String requestedPassword) { | |
logger.info("Check credentials"); | |
// compared requested password digest with persisted password digest or plain text password | |
return false; | |
} | |
@MakeCollection | |
public APIUser createAndSaveMusician(UserController root, String newName) { | |
logger.info("create User??"); | |
APIUser m = new APIUser(); | |
m.setName(newName); | |
return m; | |
} | |
@AccessControlList | |
public List<AccessControlledResource.Priviledge> getMusicianPrivs(APIUser target, APIUser currentUser) { | |
logger.info("create User??"); | |
if( target == currentUser ) { | |
return AccessControlledResource.READ_WRITE; | |
} else { | |
// This prevents read access to each others calendars | |
return AccessControlledResource.NONE; | |
// This gives read access to each others calendars | |
//return AccessControlledResource.READ_CONTENT; | |
} | |
} | |
public List<APIUser> findAll() { | |
logger.info("List all users?"); | |
return communicator.getUsers(); | |
} | |
public APIUser find(String userName) { | |
// return static user | |
logger.info("Find User?"); | |
return communicator.getUser(userName); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment