001package org.tynamo.security.components;
002
003import org.apache.tapestry5.annotations.Property;
004import org.apache.tapestry5.ioc.annotations.Inject;
005import org.tynamo.security.internal.services.LoginContextService;
006import org.tynamo.security.services.SecurityService;
007
008/**
009 * Render a link to login page if subject is not authenticated, else render a link to logout.
010 *
011 */
012public class LoginLink
013{
014
015        @Inject
016        @Property
017        private SecurityService securityService;
018
019        @Inject
020        private LoginContextService loginContextService;
021
022        public String onActionFromTynamoLoginLink()
023        {
024                loginContextService.removeSavedRequest();
025                return loginContextService.getLoginPage();
026        }
027
028        public void onActionFromTynamoLogoutLink()
029        {
030                securityService.getSubject().logout();
031        }
032}