Commit 0c47cee8 authored by Grzegorz Pietrusza's avatar Grzegorz Pietrusza

working simple db

parent 70ec4af4
...@@ -18,7 +18,6 @@ import com.telephoners.krakyournet.ctf.modules.ApplicationModule; ...@@ -18,7 +18,6 @@ import com.telephoners.krakyournet.ctf.modules.ApplicationModule;
import com.telephoners.krakyournet.ctf.repositories.Repository; import com.telephoners.krakyournet.ctf.repositories.Repository;
import io.dropwizard.Application; import io.dropwizard.Application;
import io.dropwizard.assets.AssetsBundle; import io.dropwizard.assets.AssetsBundle;
import io.dropwizard.auth.AuthValueFactoryProvider;
import io.dropwizard.jersey.setup.JerseyEnvironment; import io.dropwizard.jersey.setup.JerseyEnvironment;
import io.dropwizard.setup.Bootstrap; import io.dropwizard.setup.Bootstrap;
import io.dropwizard.setup.Environment; import io.dropwizard.setup.Environment;
...@@ -60,7 +59,7 @@ public class CTFApplication extends Application<ApplicationConfiguration> ...@@ -60,7 +59,7 @@ public class CTFApplication extends Application<ApplicationConfiguration>
// .setAuthenticator(injector.getInstance(UserAuthenticator.class)) // .setAuthenticator(injector.getInstance(UserAuthenticator.class))
// .buildAuthFilter())); // .buildAuthFilter()));
environment.jersey().register(RolesAllowedDynamicFeature.class); environment.jersey().register(RolesAllowedDynamicFeature.class);
environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class)); // environment.jersey().register(new AuthValueFactoryProvider.Binder<>(User.class));
} }
private void registerFilters(Environment environment){ private void registerFilters(Environment environment){
...@@ -76,7 +75,11 @@ public class CTFApplication extends Application<ApplicationConfiguration> ...@@ -76,7 +75,11 @@ public class CTFApplication extends Application<ApplicationConfiguration>
Team team = new Team(); Team team = new Team();
team.setName("asdf"); team.setName("asdf");
team.setDescription("sadf"); team.setDescription("sadf");
User user = new User("asdf", "asdf", "asdffg", false); User user = new User();
user.setName("asdf");
user.setEmail("asdfht");
user.setPassword("asdf");
user.setAdmin(false);
Repository<Team> teamRepository = injector.getInstance(Key.get(new TypeLiteral<Repository<Team>>(){})); Repository<Team> teamRepository = injector.getInstance(Key.get(new TypeLiteral<Repository<Team>>(){}));
Repository<User> userRepository = injector.getInstance(Key.get(new TypeLiteral<Repository<User>>(){})); Repository<User> userRepository = injector.getInstance(Key.get(new TypeLiteral<Repository<User>>(){}));
......
package com.telephoners.krakyournet.ctf.auth;
import com.google.inject.Inject;
import com.telephoners.krakyournet.ctf.beans.User;
import com.telephoners.krakyournet.ctf.repositories.Repository;
import io.dropwizard.auth.AuthenticationException;
import io.dropwizard.auth.Authenticator;
import io.dropwizard.auth.basic.BasicCredentials;
public class UserAuthenticator implements Authenticator<BasicCredentials, User>
{
private Repository<User> usersRepository;
@Inject
public UserAuthenticator(Repository<User> usersRepository)
{
this.usersRepository = usersRepository;
}
@Override
public java.util.Optional<User> authenticate(BasicCredentials credentials) throws AuthenticationException
{
return null;
/*
User user = usersRepository.authenticateUser(credentials);
if (user != null) {
return Optional.of(user);
}
return Optional.absent();*/
}
}
\ No newline at end of file
...@@ -2,30 +2,15 @@ package com.telephoners.krakyournet.ctf.beans; ...@@ -2,30 +2,15 @@ package com.telephoners.krakyournet.ctf.beans;
import org.ektorp.support.CouchDbDocument; import org.ektorp.support.CouchDbDocument;
import java.security.Principal;
//todo: use CouchDbDocument //todo: use CouchDbDocument
//todo: implement principal //todo: implement principal
public class User extends CouchDbDocument implements Principal public class User extends CouchDbDocument
{ {
private String name; private String name;
private String password; private String password;
private String email; private String email;
private boolean admin = false; private boolean admin = false;
// @DocumentReferences //todo: make sure it works
// private Team team;
public User(String name, String password, String email, boolean admin/*Team team*/)
{
this.name = name;
this.password = password;
this.email = email;
this.admin = admin;
// this.team = team;
}
@Override
public String getName() public String getName()
{ {
return name; return name;
...@@ -65,14 +50,4 @@ public class User extends CouchDbDocument implements Principal ...@@ -65,14 +50,4 @@ public class User extends CouchDbDocument implements Principal
{ {
this.admin = admin; this.admin = admin;
} }
// public Team getTeam()
// {
// return team;
// }
//
// public void setTeam(Team team)
// {
// this.team = team;
// }
} }
...@@ -18,7 +18,7 @@ public class DataConnector<T extends CouchDbDocument> ...@@ -18,7 +18,7 @@ public class DataConnector<T extends CouchDbDocument>
{ {
//todo: temporary //todo: temporary
String databaseName = databaseNameProvider.get(); String databaseName = databaseNameProvider.get();
// databaseInstance.deleteDatabase(databaseName); databaseInstance.deleteDatabase(databaseName);
final StdCouchDbConnector connector = new StdCouchDbConnector(databaseName, databaseInstance); //todo: to configuration final StdCouchDbConnector connector = new StdCouchDbConnector(databaseName, databaseInstance); //todo: to configuration
connector.createDatabaseIfNotExists(); connector.createDatabaseIfNotExists();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment