12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- <?php
-
- namespace Acme\DemoBundle\Controller;
-
- use Symfony\Bundle\FrameworkBundle\Controller\Controller;
- use Symfony\Component\Security\Core\SecurityContext;
- use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
- use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
- use JMS\SecurityExtraBundle\Annotation\Secure;
-
- /**
- * @Route("/demo/secured")
- */
- class SecuredController extends Controller
- {
- /**
- * @Route("/login", name="_demo_login")
- * @Template()
- */
- public function loginAction()
- {
- if ($this->get('request')->attributes->has(SecurityContext::AUTHENTICATION_ERROR)) {
- $error = $this->get('request')->attributes->get(SecurityContext::AUTHENTICATION_ERROR);
- } else {
- $error = $this->get('request')->getSession()->get(SecurityContext::AUTHENTICATION_ERROR);
- }
-
- return array(
- 'last_username' => $this->get('request')->getSession()->get(SecurityContext::LAST_USERNAME),
- 'error' => $error,
- );
- }
-
- /**
- * @Route("/login_check", name="_security_check")
- */
- public function securityCheckAction()
- {
- // The security layer will intercept this request
- }
-
- /**
- * @Route("/logout", name="_demo_logout")
- */
- public function logoutAction()
- {
- // The security layer will intercept this request
- }
-
- /**
- * @Route("/hello", defaults={"name"="World"}),
- * @Route("/hello/{name}", name="_demo_secured_hello")
- * @Template()
- */
- public function helloAction($name)
- {
- return array('name' => $name);
- }
-
- /**
- * @Route("/hello/admin/{name}", name="_demo_secured_hello_admin")
- * @Secure(roles="ROLE_ADMIN")
- * @Template()
- */
- public function helloadminAction($name)
- {
- return array('name' => $name);
- }
- }
|