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}