Skip to content
Snippets Groups Projects
Commit 1b9a1c71 authored by Ghislain Loas's avatar Ghislain Loas
Browse files

Merge branch 'hotline#40796_casserver' into 'stable'

Hotline#40796 casserver

See merge request !1647
parents 437aae76 ec9bd244
3 merge requests!1659Master,!1657Master,!1656Hotline master
- ticket #40796 : Cas-server : ajout de l'action login et logout
\ No newline at end of file
......@@ -18,7 +18,7 @@
* along with BOKEH; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/
class CasServerController extends Zend_Controller_Action {
class CasServerController extends ZendAfi_Controller_Action {
use Trait_StaticFileWriter;
protected $service; // url de retour
protected $values;
......@@ -36,7 +36,6 @@ class CasServerController extends Zend_Controller_Action {
}
public function returnValidMusicMeResponse($user) {
$this->getResponse()->setHeader('Content-Type', 'application/xml;charset=utf-8');
$this->getResponse()->setBody( '<User>
......@@ -46,11 +45,10 @@ class CasServerController extends Zend_Controller_Action {
<AccountDisabled>false</AccountDisabled>
<AccountExpired>false</AccountExpired>
</User>'
);
);
}
public function returnMusicMeFailureTicketResponse($error,$ticket=null) {
$this->getResponse()->setHeader('Content-Type', 'application/xml;charset=utf-8');
$xml="<User />";
......@@ -71,12 +69,12 @@ class CasServerController extends Zend_Controller_Action {
}
function servicevalidateAction() {
public function servicevalidateAction() {
$this->_forward('validate');
}
function validateMusicmeAction() {
public function validateMusicmeAction() {
$this->getHelper('ViewRenderer')->setNoRender();
$bibid=$this->_request->getParam('MediaLibraryID');
$ticket=$this->_request->getParam('ticket');
......@@ -96,7 +94,8 @@ class CasServerController extends Zend_Controller_Action {
/* To be implemented : INVALID_SERVICE - the ticket provided was valid, but the service specified did not match the service associated with the ticket. CAS MUST invalidate the ticket and disallow future validation of that same ticket. */
/* INTERNAL_ERROR - an internal error occurred during ticket validation */
function validateAction() {
public function validateAction() {
$this->getHelper('ViewRenderer')->setNoRender();
$service=$this->_request->getParam('service');
$ticket=$this->_request->getParam('ticket');
......@@ -118,6 +117,18 @@ class CasServerController extends Zend_Controller_Action {
function indexAction() {
}
*/
}
public function loginAction() {
$this->_forward('login', 'auth');
}
public function logoutAction() {
ZendAfi_Auth::getInstance()->clearIdentity();
if ($url_redirect = $this->_getParam('url'))
$this->_redirect($url_redirect);
}
}
?>
\ No newline at end of file
......@@ -35,18 +35,5 @@ class CasServerV10Controller extends CasServerController {
public function returnFailureTicketResponse($error,$ticket=null) {
$this->getResponse()->setBody('no'.chr(10));
}
public function loginAction() {
$this->_forward('login', 'auth');
}
public function logoutAction() {
ZendAfi_Auth::getInstance()->clearIdentity();
if ($url_redirect = $this->_getParam('url'))
$this->_redirect($url_redirect);
}
}
?>
......@@ -186,6 +186,12 @@ class CasServerControllerMusicMeValidateActionTest extends AbstractControllerTes
$this->assertContains('ticket='.$expected_ticket.'&', Class_MusicMeLink::forUser(Class_Users::find(300))->url());
}
}
?>
\ No newline at end of file
/** @test */
public function loginOnCasOneZeroShouldRedirectToServiceWithTicket() {
$this->dispatch('/opac/cas-server/login?service=http://test.com', true);
$this->assertRedirectTo(
'http://test.com?ticket='.(new Class_CasTicket())->getTicketForCurrentUser(),
$this->getResponseLocation());
}
}
\ No newline at end of file
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment