Merged V3.1 to HEAD

13003: Fix for ETHREEOH-1241. Improved debug logging also.
   13027: Fix for build failure - OKed solution from Dave/Andy

git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@13533 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Kevin Roast
2009-03-10 15:24:48 +00:00
parent 6b8e46000d
commit 8af37e6243
4 changed files with 26 additions and 28 deletions

View File

@@ -30,6 +30,7 @@ import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import org.alfresco.repo.security.authentication.AuthenticationException;
import org.alfresco.repo.security.authentication.AuthenticationUtil;
import org.alfresco.service.cmr.security.AuthenticationService;
import org.alfresco.web.scripts.DeclarativeWebScript;
import org.alfresco.web.scripts.Status;
@@ -38,7 +39,7 @@ import org.alfresco.web.scripts.WebScriptRequest;
/**
* common code between Get based login and POST based login
* Common code between Get based login and POST based login
*/
/* package scope */ abstract class AbstractLoginBean extends DeclarativeWebScript
{
@@ -65,7 +66,6 @@ import org.alfresco.web.scripts.WebScriptRequest;
protected Map<String, Object> login(String username, String password)
{
try
{
// get ticket
@@ -82,7 +82,7 @@ import org.alfresco.web.scripts.WebScriptRequest;
}
finally
{
authenticationService.clearCurrentSecurityContext();
AuthenticationUtil.clearCurrentSecurityContext();
}
}
}
}

View File

@@ -63,5 +63,4 @@ public class Login extends AbstractLoginBean
return login(username, password);
}
}
}

View File

@@ -41,11 +41,9 @@ import org.json.JSONObject;
/**
* Post based login script
*
*/
public class LoginPost extends AbstractLoginBean
{
/* (non-Javadoc)
* @see org.alfresco.web.scripts.DeclarativeWebScript#executeImpl(org.alfresco.web.scripts.WebScriptRequest, org.alfresco.web.scripts.WebScriptResponse)
*/
@@ -55,30 +53,31 @@ public class LoginPost extends AbstractLoginBean
Content c = req.getContent();
if (c == null)
{
throw new WebScriptException(Status.STATUS_BAD_REQUEST,
"Missing POST body.");
throw new WebScriptException(Status.STATUS_BAD_REQUEST, "Missing POST body.");
}
// TODO accept xml type.
// extract username and password from JSON object
JSONObject json;
try {
json = new JSONObject(c.getContent());
String username = json.getString("username");
String password = json.getString("password");
if (username == null || username.length() == 0)
{
throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Username not specified");
}
try
{
json = new JSONObject(c.getContent());
String username = json.getString("username");
String password = json.getString("password");
if (password == null)
{
throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Password not specified");
}
if (username == null || username.length() == 0)
{
throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Username not specified");
}
return login(username, password);
}
if (password == null)
{
throw new WebScriptException(HttpServletResponse.SC_BAD_REQUEST, "Password not specified");
}
return login(username, password);
}
catch (JSONException jErr)
{
throw new WebScriptException(Status.STATUS_BAD_REQUEST,
@@ -90,4 +89,4 @@ public class LoginPost extends AbstractLoginBean
"Unable to retrieve POST body: " + ioErr.getMessage());
}
}
}
}