Skip to content

Commit 2fba3e5

Browse files
Feature/authentication (#14)
* Basic Authentication für den Client implementiert (fixes #13) * Version 1.1.0 * neueres Gradle BND Plugin verwenden * Authenifizierung im Betriebshandbuch beschrieben
1 parent 1f17041 commit 2fba3e5

File tree

6 files changed

+66
-83
lines changed

6 files changed

+66
-83
lines changed

build.gradle

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ buildscript {
88
}
99
dependencies {
1010
classpath "org.raml.jaxrs:raml-to-jaxrs-gradle-plugin:3.0.5"
11-
classpath "biz.aQute.bnd:biz.aQute.bnd.gradle:4.1.0"
11+
classpath "biz.aQute.bnd:biz.aQute.bnd.gradle:5.2.0"
1212
classpath "gradle.plugin.de.fntsoftware.gradle:markdown-to-pdf:1.1.0"
1313
}
1414
}
@@ -25,11 +25,11 @@ allprojects {
2525
mavenLocal()
2626
maven { url "https://dl.bintray.com/bitctrl/maven" }
2727
mavenCentral()
28-
maven { url "http://h2727649.stratoserver.net:8081/repository/nerz-maven-public/" }
28+
maven { url "https://repo.nerz-ev.de" }
2929
}
3030

3131
group = 'de.bitctrl.dav.rest'
32-
version = '1.0.2-SNAPSHOT'
32+
version = '1.1.0-SNAPSHOT'
3333
}
3434

3535
markdownToPdf{

de.bitctrl.dav.rest.api/.classpath

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,31 +1,11 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<classpath>
3-
<classpathentry kind="src" output="bin/main" path="src/main/java">
4-
<attributes>
5-
<attribute name="gradle_scope" value="main"/>
6-
<attribute name="gradle_used_by_scope" value="main,test"/>
7-
</attributes>
8-
</classpathentry>
93
<classpathentry kind="src" output="bin/main" path="src/main/resources">
104
<attributes>
115
<attribute name="gradle_scope" value="main"/>
126
<attribute name="gradle_used_by_scope" value="main,test"/>
137
</attributes>
148
</classpathentry>
15-
<classpathentry kind="src" output="bin/test" path="src/test/java">
16-
<attributes>
17-
<attribute name="gradle_scope" value="test"/>
18-
<attribute name="gradle_used_by_scope" value="test"/>
19-
<attribute name="test" value="true"/>
20-
</attributes>
21-
</classpathentry>
22-
<classpathentry kind="src" output="bin/test" path="src/test/resources">
23-
<attributes>
24-
<attribute name="gradle_scope" value="test"/>
25-
<attribute name="gradle_used_by_scope" value="test"/>
26-
<attribute name="test" value="true"/>
27-
</attributes>
28-
</classpathentry>
299
<classpathentry kind="src" output="bin/main" path="build/generated">
3010
<attributes>
3111
<attribute name="gradle_scope" value="main"/>
Lines changed: 53 additions & 53 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,58 @@
1-
<?xml version="1.0" encoding="UTF-8"?>
2-
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
3-
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<!DOCTYPE module PUBLIC "-//Puppy Crawl//DTD Check Configuration 1.3//EN" "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
3+
44
<!--
55
This configuration file was written by the eclipse-cs plugin configuration editor
6-
-->
6+
-->
77
<!--
88
Checkstyle-Configuration: Local
99
Description: none
10-
-->
11-
<module name="Checker">
12-
<property name="severity" value="warning"/>
13-
<module name="TreeWalker">
14-
<module name="ConstantName"/>
15-
<module name="LocalFinalVariableName"/>
16-
<module name="LocalVariableName"/>
17-
<module name="MemberName"/>
18-
<module name="MethodName"/>
19-
<module name="MethodTypeParameterName"/>
20-
<module name="PackageName"/>
21-
<module name="ParameterName"/>
22-
<module name="StaticVariableName"/>
23-
<module name="TypeName"/>
24-
<module name="AnonInnerLength"/>
25-
<module name="ExecutableStatementCount">
26-
<property name="tokens" value="INSTANCE_INIT,STATIC_INIT,METHOD_DEF,CTOR_DEF"/>
27-
</module>
28-
<module name="MethodLength"/>
29-
<module name="ParameterNumber"/>
30-
<module name="OuterTypeNumber"/>
31-
<module name="MethodCount"/>
32-
<module name="RedundantModifier"/>
33-
<module name="ModifierOrder"/>
34-
<module name="AvoidInlineConditionals">
35-
<property name="severity" value="info"/>
36-
</module>
37-
<module name="InnerAssignment"/>
38-
<module name="OneStatementPerLine"/>
39-
<module name="FinalClass"/>
40-
<module name="HideUtilityClassConstructor"/>
41-
<module name="VisibilityModifier"/>
42-
<module name="BooleanExpressionComplexity"/>
43-
<module name="ClassDataAbstractionCoupling"/>
44-
<module name="ClassFanOutComplexity"/>
45-
<module name="CyclomaticComplexity"/>
46-
<module name="JavaNCSS"/>
47-
<module name="NPathComplexity"/>
48-
<module name="JavadocType">
49-
<property name="scope" value="package"/>
50-
<property name="authorFormat" value="BitCtrl Systems GmbH, .+"/>
51-
</module>
52-
</module>
53-
<module name="JavadocPackage"/>
54-
<module name="FileLength"/>
55-
<module name="Header">
56-
<property name="headerFile" value="${basedir}/config/java.header"/>
57-
</module>
58-
</module>
10+
-->
11+
<module name="Checker">
12+
<property name="severity" value="warning"/>
13+
<module name="TreeWalker">
14+
<module name="ConstantName"/>
15+
<module name="LocalFinalVariableName"/>
16+
<module name="LocalVariableName"/>
17+
<module name="MemberName"/>
18+
<module name="MethodName"/>
19+
<module name="MethodTypeParameterName"/>
20+
<module name="PackageName"/>
21+
<module name="ParameterName"/>
22+
<module name="StaticVariableName"/>
23+
<module name="TypeName"/>
24+
<module name="AnonInnerLength"/>
25+
<module name="ExecutableStatementCount">
26+
<property name="tokens" value="INSTANCE_INIT,STATIC_INIT,METHOD_DEF,CTOR_DEF"/>
27+
</module>
28+
<module name="MethodLength"/>
29+
<module name="ParameterNumber"/>
30+
<module name="OuterTypeNumber"/>
31+
<module name="MethodCount"/>
32+
<module name="RedundantModifier"/>
33+
<module name="ModifierOrder"/>
34+
<module name="AvoidInlineConditionals">
35+
<property name="severity" value="info"/>
36+
</module>
37+
<module name="InnerAssignment"/>
38+
<module name="OneStatementPerLine"/>
39+
<module name="FinalClass"/>
40+
<module name="HideUtilityClassConstructor"/>
41+
<module name="VisibilityModifier"/>
42+
<module name="BooleanExpressionComplexity"/>
43+
<module name="ClassDataAbstractionCoupling"/>
44+
<module name="ClassFanOutComplexity"/>
45+
<module name="CyclomaticComplexity"/>
46+
<module name="JavaNCSS"/>
47+
<module name="NPathComplexity"/>
48+
<module name="JavadocType">
49+
<property name="scope" value="package"/>
50+
<property name="authorFormat" value="BitCtrl Systems GmbH, .+"/>
51+
</module>
52+
</module>
53+
<module name="JavadocPackage"/>
54+
<module name="FileLength"/>
55+
<module name="Header">
56+
<property name="headerFile" value="${basedir}/config/java.header"/>
57+
</module>
58+
</module>

de.bitctrl.dav.rest.client/Betriebshandbuch.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ Die SWE verwendet die Datenverteiler - Applikationsfunktionen zur Kommunikation
9797
* `-objekt=<pid>` : Die PID des Applikationsobjektes (vom Typ `typ.archiv`)
9898
* `-url=http://localhost` : Die URL des REST Servers, der Standardwert ist `http://localhost`.
9999
* `-port=80` : Der Port des REST Servers, der Standardwert ist `9998`.
100+
* `-authUser=` : Nutzername für die Authentifizierung am REST Server (optional).
101+
* `-authPassword=` : Passwort für die Authentifizierung am REST Server (optional).
100102

101103
#### Unterstützte Datenspezifikationen
102104

de.bitctrl.dav.rest.client/src/main/java/de/bitctrl/dav/rest/client/Client.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727

2828
import org.glassfish.jersey.client.ClientConfig;
2929
import org.glassfish.jersey.client.ClientProperties;
30+
import org.glassfish.jersey.client.authentication.HttpAuthenticationFeature;
3031
import org.glassfish.jersey.jackson.JacksonFeature;
3132

3233
import de.bsvrz.dav.daf.main.ClientDavInterface;
@@ -56,12 +57,16 @@ public static void main(final String[] args) {
5657
private String serverUrl;
5758
private String port;
5859
private javax.ws.rs.client.Client client;
60+
private String authUser;
61+
private String authPassword;
5962

6063
@Override
6164
public void parseArguments(ArgumentList argumentList) throws Exception {
6265
archivObjektPid = argumentList.fetchArgument("-objekt=").asString();
6366
serverUrl = argumentList.fetchArgument("-url=http://localhost").asString();
6467
port = argumentList.fetchArgument("-port=9998").asString();
68+
authUser = argumentList.fetchArgument("-authUser=").asString();
69+
authPassword = argumentList.fetchArgument("-authPassword=").asString();
6570

6671
}
6772

@@ -84,6 +89,9 @@ public void initialize(ClientDavInterface connection) throws Exception {
8489

8590
final ClientConfig config = new ClientConfig();
8691
config.register(JacksonFeature.class);
92+
if (!authPassword.isEmpty()) {
93+
config.register(HttpAuthenticationFeature.basic(authUser, authPassword));
94+
}
8795
config.property(ClientProperties.READ_TIMEOUT, 60000);
8896

8997
// ClientBuilder.newBuilder().sslContext(ctx);
@@ -98,7 +106,6 @@ public void initialize(ClientDavInterface connection) throws Exception {
98106
@Override
99107
public void connectionClosed(ClientDavInterface connection) {
100108
client.close();
101-
102109
}
103110

104111
}

de.bitctrl.dav.rest.server/.classpath

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,6 @@
1313
<attribute name="test" value="true"/>
1414
</attributes>
1515
</classpathentry>
16-
<classpathentry kind="src" output="bin/main" path="src/main/resources">
17-
<attributes>
18-
<attribute name="gradle_scope" value="main"/>
19-
<attribute name="gradle_used_by_scope" value="main,test"/>
20-
</attributes>
21-
</classpathentry>
2216
<classpathentry kind="src" output="bin/test" path="src/test/resources">
2317
<attributes>
2418
<attribute name="gradle_scope" value="test"/>

0 commit comments

Comments
 (0)