I've been doing some tests on Fedora 3.5 (checked out yesterday from
github, the master branch), and right out of the gate I ran into an
issue in which API-A operations require authentication, despite Fedora
being configured to not require authentication for API-A requests.
To confirm that this is a problem that has crept into the 3.5 codebase
and is not a configuration issue, I ran a simple experiment: I
performed two clean, fresh, untouched installs of Fedora 3.4.2 and
Fedora 3.5 side-by-side, using virtually identical installer.properties
files, then sent a "describe" request to the two servers.
I downloaded the 3.4.2 fcrepo-installer jar for the 3.4.2 install, and
built the fcrepo-installer-3.5-SNAPSHOT jar from a fresh download of the
master branch source on github, using "mvn install".
Attached are two installer.properties files, one for Fedora 3.4.2, and
one for Fedora 3.5. As you can see, they are very simple installs;
XACML policy authentication is turned on, FeSL is turned off, and
apia.auth.required is set to false. I do not perform any post-install
configuration or policy tweaks.
Here's the output of a "describe" request to the fresh install of Fedora
3.4.2:
$ curl -i -s 'http://localhost:8034/fedora/describe'
HTTP/1.1 200 OK
Server: Apache-Coyote/1.1
Pragma: No-cache
Cache-Control: no-cache
Expires: Wed, 31 Dec 1969 18:00:00 CST
Content-Type: text/html;charset=UTF-8
Transfer-Encoding: chunked
Date: Thu, 12 May 2011 15:19:14 GMT
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Repository Information HTML Presentation</title>
</head>
<body>
<center>
<table width="784" border="0" cellpadding="0" cellspacing="0">
<tr>
<td width="141" height="134" valign="top"><img
src="/fedora/images/newlogo2.jpg" width="141" height="134"></td>
<td width="643" valign="top">
<center>
<h2>Fedora</h2>
<h3>Repository Information View</h3>
</center>
</td>
</tr>
</table>
<hr><font size="+1"><strong>Repository Name: </strong>Fedora
Repository</font><hr>
<p></p>
<table width="784" border="1" cellpadding="5" cellspacing="5"
bgcolor="silver">
<tr>
<td align="right"><strong>Base URL:</strong></td>
<td align="left">http://localhost:8034/fedora</td>
</tr>
<tr>
<td align="right"><strong>Version:</strong></td>
<td align="left">3.4.2</td>
</tr>
<tr>
<td align="right"><strong>PID Namespace:</strong></td>
<td align="left">changeme</td>
</tr>
<tr>
<td align="right"><strong>PID Delimiter:</strong></td>
<td align="left">:</td>
</tr>
<tr>
<td align="right"><strong>Sample PID:</strong></td>
<td align="left">changeme:100</td>
</tr>
<tr>
<td align="right"><strong>Retain PID Namespace:
</strong></td>
<td align="left">*</td>
</tr>
<tr>
<td align="right"><strong>OAI Namespace:</strong></td>
<td align="left">example.org</td>
</tr>
<tr>
<td align="right"><strong>OAI Delimiter:</strong></td>
<td align="left">:</td>
</tr>
<tr>
<td align="right"><strong>Sample OAI
Identifier:</strong></td>
<td align="left">oai:example.org:changeme:100</td>
</tr>
<tr>
<td align="right"><strong>Sample Search URL:</strong></td>
<td align="left"><a
href="http://localhost:8034/fedora/objects">http://localhost:8034/fedora/objects</a></td>
</tr>
<tr>
<td align="right"><strong>Sample Access URL:</strong></td>
<td align="left"><a
href="http://localhost:8034/fedora/objects/demo:5">http://localhost:8034/fedora/objects/demo:5</a></td>
</tr>
<tr>
<td align="right"><strong>Sample OAI URL:</strong></td>
<td align="left"><a
href="http://localhost:8034/fedora/oai?verb=Identify">http://localhost:8034/fedora/oai?verb=Identify</a></td>
</tr>
<tr>
<td align="right"><strong>Admin Email: </strong></td>
<td align="left">b...@example.org</td>
</tr>
<tr>
<td align="right"><strong>Admin Email: </strong></td>
<td align="left">sa...@example.org</td>
</tr>
</table>
</center>
</body>
And here's the output of the same request for the Fedora 3.5 install:
$ curl -i -s 'http://localhost:8035/fedora/describe'
HTTP/1.1 401 Unauthorized
Server: Apache-Coyote/1.1
WWW-Authenticate: BASIC realm="fedora"
Set-Cookie: JSESSIONID=69005FD930E3D5FB2D2102D2B63114F7; Path=/fedora
WWW-Authenticate: BASIC realm="Fedora Repository Server"
Content-Type: text/html;charset=UTF8
Transfer-Encoding: chunked
Date: Thu, 12 May 2011 15:20:08 GMT
<html><head>
<title>Fedora: 401 Unauthorized</title></head>
<body>
<center>
<table border="0" cellpadding="0" cellspacing="0" width="784">
<tbody><tr>
<td height="134" valign="top" width="141"><img
src="/fedora/images/newlogo2.jpg" height="134" width="141"></td>
<td valign="top" width="643">
<center>
<h2>401 Unauthorized</h2>
<h3>Authentication failed</h3>
</center>
</td>
</tr>
</tbody></table>
</center>
</body></html>
Can someone else confirm this is an issue? If so, I can open a JIRA
issue for it.
thanks,
-- Scott
--
Scott Prater
Library, Instructional, and Research Applications (LIRA)
Division of Information Technology (DoIT)
University of Wisconsin - Madison
pra...@wisc.edu
#Install Options
#Wed May 11 20:01:04 CDT 2011
ri.enabled=true
messaging.enabled=false
apia.auth.required=false
database.jdbcDriverClass=org.apache.derby.jdbc.EmbeddedDriver
ssl.available=false
database.jdbcURL=jdbc\:derby\:/var/tmp/fcrepo-test/fedora-3.4.2/derby/fedora3;create\=true
database.password=fedoraAdmin
database.username=fedoraAdmin
fesl.authz.enabled=false
tomcat.shutdown.port=8044
deploy.local.services=false
xacml.enabled=true
tomcat.http.port=8034
fedora.serverHost=localhost
database=included
database.driver=included
fedora.serverContext=fedora
llstore.type=akubra-fs
tomcat.home=/var/tmp/fcrepo-test/fedora-3.4.2/tomcat
fesl.authn.enabled=false
fedora.home=/var/tmp/fcrepo-test/fedora-3.4.2
install.type=custom
servlet.engine=included
fedora.admin.pass=xxxxxxx
#Install Options
#Wed May 11 20:01:04 CDT 2011
ri.enabled=true
messaging.enabled=false
apia.auth.required=false
database.jdbcDriverClass=org.apache.derby.jdbc.EmbeddedDriver
ssl.available=false
database.jdbcURL=jdbc\:derby\:/var/tmp/fcrepo-test/fedora-3.5/derby/fedora3;create\=true
database.password=fedoraAdmin
database.username=fedoraAdmin
fesl.authz.enabled=false
tomcat.shutdown.port=8045
deploy.local.services=false
xacml.enabled=true
tomcat.http.port=8035
fedora.serverHost=localhost
database=included
database.driver=included
fedora.serverContext=fedora
llstore.type=akubra-fs
tomcat.home=/var/tmp/fcrepo-test/fedora-3.5/tomcat
fesl.authn.enabled=false
fedora.home=/var/tmp/fcrepo-test/fedora-3.5
install.type=custom
servlet.engine=included
fedora.admin.pass=xxxxxxx
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Fedora-commons-developers mailing list
Fedora-commons-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/fedora-commons-developers