dwimberger / crowd-radius-server

A RADIUS server that delegates authentication to a Atlassian Crowd installation via the Crowd REST API.
Apache License 2.0
20 stars 12 forks source link

Error while running crowd radius #4

Open miawaga opened 8 years ago

miawaga commented 8 years ago

I downloaded Crowd Radius Server from altassian web and it seams to be missing some of the files comparing to files on the GitHub. I use the GitHub files for now. I edited configuration file and now running the run script. I get following error :

[ERROR] Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:java (default-cli) on project crowd-radius-server: An exception occured while executing the Java class. net.wimpi.crowd.radius.Server -> [Help 1] org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.codehaus.mojo:exec-maven-plugin:1.4.0:java (default-cli) on project crowd-radius-server: An exception occured while executing the Java class. net.wimpi.crowd.radius.Server at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84) at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59) at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183) at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161) at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:320) at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156) at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537) at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196) at org.apache.maven.cli.MavenCli.main(MavenCli.java:141) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:606) at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290) at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230) at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:414) at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:357) Caused by: org.apache.maven.plugin.MojoExecutionException: An exception occured while executing the Java class. net.wimpi.crowd.radius.Server at org.codehaus.mojo.exec.ExecJavaMojo.execute(ExecJavaMojo.java:345) at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209) ... 19 more Caused by: java.lang.ClassNotFoundException: net.wimpi.crowd.radius.Server at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at org.codehaus.mojo.exec.ExecJavaMojo$1.run(ExecJavaMojo.java:281) at java.lang.Thread.run(Thread.java:745)

What am i doing wrong?

miawaga commented 8 years ago

Also how can i test if it's connection correctly to crowd and if our wifi is connecting to it?

dwimberger commented 8 years ago
seams to be missing some of the files comparing to files on the GitHub

The binary distribution that can be downloaded from Atlassian actually downloads from the binary distribution here. It is a shaded JAR file that contains everything packaged inside of it. It cannot be run with Maven, but it requires to be run with the pretty simple Shell Script that is included within the package (as stated in the README).

The configuration is described on the WIKI here: https://github.com/dwimberger/crowd-radius-server/wiki/Configuration

Only if you are running from the repository (which I assumed before) you can do that using Maven.

how can i test if it's connection correctly to crowd 

The actual connection to Crowd should be printed out on the log. Also, you can easily watch your Crowd sessions and logs for the connection.

 if our wifi is connecting to it?

There is no connection between the Radius Client and Server, the Radius protocol is packet based (i.e. UDP). You can either use the log of the Radius server or usually you can also watch the logs on your Router.

Configuration of the logging runs through Logback, the configuration file needs to be on the classpath.

AndyPietersOU commented 8 years ago

Hi

Im getting the ACcess-request user-password or chap-password/chap challenge missing error.

I know you say PAP only. Where exactly do we set that?, and what part of the communication should use the PAP?

User to AP, AP to Radius, Radius to Crowd, ..?

In crowd, I choose to add a "Generic application"

On our Unify ctrl it doesn't show any option other than user name password port host.

Many thanks

Andy

dwimberger commented 8 years ago
  I know you say PAP only. Where exactly do we set that?, and what part of the communication should use the PAP?
  User to AP, AP to Radius, Radius to Crowd, ..?

Radius Protocol support. Your Router is talking to the RADIUS Server and it only supports PAP. The reason is, that the REST API on the Crowd Server does not allow reading out the user password. However RADIUS/CHAP would require the password to be read out, so it can be combined with the challenge.

See also: General: https://en.wikipedia.org/wiki/RADIUS PAP vs. CHAP http://www.tldp.org/LDP/nag/node120.html

So RADIUS/PAP always refers to the communication between RADIUS Client (Router) and RADIUS Server (crowd-radius-server).

Network Client <-- Network encryption --> Network Router {use router Logging possibilities} <-- RADIUS/PAP (UDP/IP) --> RADIUS Server (crowd-radius-server) {use crowd-radius-server logging possibilities} <-- REST/HTTPS --> Crowd Server {use Crowd Logging possibilitites}

If the Router supports RADIUS/PAP and how it can be configured is really hard to tell, because there are so much out in the wild........

I checked OpenWRT and it might be doable: https://wiki.openwrt.org/doc/uci/wireless#wpa_enterprise_client