Benutzerverwaltung: Search mit authorisiertem User : OK.
diff --git a/src/main/java/de/ids_mannheim/korap/handlers/EntityDao.java b/src/main/java/de/ids_mannheim/korap/handlers/EntityDao.java
index 8829064..5c23916 100644
--- a/src/main/java/de/ids_mannheim/korap/handlers/EntityDao.java
+++ b/src/main/java/de/ids_mannheim/korap/handlers/EntityDao.java
@@ -53,10 +53,28 @@
// usersettings are fetched plus basic account info, no details, since i rarely use them anyway!
@Override
public User getAccount (String username) throws KustvaktException {
+
+ Boolean bDEBUG = true;
Map<String, String> namedParameters = Collections
.singletonMap("username", username);
final String sql = "select a.* from korap_users as a where a.username=:username;";
User user;
+
+ // Debug by FB
+ if ( bDEBUG == true )
+ { // User cannot be found in SQL DB since LDAP Authentication,
+ // so create a User Object here.
+ // TODO: what more data should be stored into it?
+ // 28.04.17/FB
+ user = new KorAPUser();
+ user.setUsername(username);
+ return user;
+ }
+ if( username.equalsIgnoreCase("bodmer") == true )
+ {
+ return null;
+ }
+ //
try {
user = this.jdbcTemplate.queryForObject(sql, namedParameters,
new RowMapperFactory.UserMapper());
diff --git a/src/main/java/de/ids_mannheim/korap/interfaces/AuthenticationManagerIface.java b/src/main/java/de/ids_mannheim/korap/interfaces/AuthenticationManagerIface.java
index d5af729..e110a5b 100644
--- a/src/main/java/de/ids_mannheim/korap/interfaces/AuthenticationManagerIface.java
+++ b/src/main/java/de/ids_mannheim/korap/interfaces/AuthenticationManagerIface.java
@@ -32,6 +32,15 @@
protected AuthenticationIface getProvider (String key, String default_iface) {
+
+ // Debug FB: loop a Map
+ /*
+ for (Map.Entry<String, AuthenticationIface> entry : this.providers.entrySet())
+ {
+ System.out.println("Debug: provider: Key : " + entry.getKey() + " Value : " + entry.getValue());
+ }
+ */
+
AuthenticationIface iface = this.providers.get(key != null ? key
.toLowerCase() : "none");
// todo: configurable authentication schema
diff --git a/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java b/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
index a13958e..bbca24a 100644
--- a/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
+++ b/src/main/java/de/ids_mannheim/korap/web/service/full/ResourceService.java
@@ -475,7 +475,8 @@
@QueryParam("offset") Integer pageIndex,
@QueryParam("page") Integer pageInteger,
@QueryParam("cq") String cq, @QueryParam("engine") String engine) {
- TokenContext context = (TokenContext) securityContext
+
+ TokenContext context = (TokenContext) securityContext
.getUserPrincipal();
KustvaktConfiguration.BACKENDS eng = this.config.chooseBackend(engine);
User user;
diff --git a/src/main/resources/default-config.xml b/src/main/resources/default-config.xml
index edc741d..be9f080 100644
--- a/src/main/resources/default-config.xml
+++ b/src/main/resources/default-config.xml
@@ -83,9 +83,9 @@
<property name="username" value="${jdbc.username}"/>
<property name="password" value="${jdbc.password}"/>
<!-- relevant for single connection datasource and sqlite -->
- <!-- <property name="suppressClose">
+ <property name="suppressClose">
<value>true</value>
- </property> -->
+ </property>
<!--<property name="initialSize" value="2"/>-->
<!--<property name="poolPreparedStatements" value="true"/>-->
</bean>