Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * This is part of a response to a question in this Restlet discussion:
- * http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=3078331
- */
- package net.peierls.example.restlet.authrouting;
- import org.restlet.*;
- import org.restlet.data.*;
- import org.restlet.routing.*;
- import org.restlet.resource.*;
- import org.restlet.security.*;
- public class AuthRoutingExample extends Application {
- Verifier verifier;
- @Override
- public Restlet createInboundRoot(){
- Router router = new Router(getContext());
- router.attach("/", RootServerResource.class);
- router.attach("/ifaces", IfacesServerResource.class);
- router.attach("/ifaces/{ifaceId}", IfaceServerResource.class);
- router.attach("/apps", AppsServerResource.class);
- router.attach("/apps/{appId}/", authenticated(AppServerResource.class));
- router.attach("/apps/{appId}/rules", authenticated(RulesServerResource.class));
- router.attach("/apps/{appId}/rules/{ruleId}", authenticated(RuleServerResource.class));
- return router;
- }
- /**
- * Wraps a resource with a Tracer, then wraps that with a ChallengeAuthenticator.
- */
- private Restlet authenticated(Class<? extends ServerResource> targetClass) {
- Tracer tracer = new Tracer(getContext());
- tracer.setNext(targetClass);
- ChallengeAuthenticator authenticator = new ChallengeAuthenticator(
- getContext(), ChallengeScheme.HTTP_BASIC, "AndroPi");
- authenticator.setVerifier(verifier);
- authenticator.setNext(tracer);
- return authenticator;
- }
- static class RootServerResource extends ServerResource {}
- static class IfacesServerResource extends ServerResource {}
- static class IfaceServerResource extends ServerResource {}
- static class AppsServerResource extends ServerResource {}
- static class AppServerResource extends ServerResource {}
- static class RulesServerResource extends ServerResource {}
- static class RuleServerResource extends ServerResource {}
- static class Tracer extends Filter {
- Tracer(Context context) { super(context); }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement