Interceptor Struts2

Pessoal estou fazendo a tela de login com Struts2 implementando interceptor, e tenho uma dúvida. Quando implemento um interceptor com Struts2 a classe do interceptor só é chamada quando chamo uma action, por exemplo se eu chamar cadastrarCliente.jsp não ira passar pelo interceptor e se colocar por exemplo novoCliente.action ai sim passa pelo interceptor??? Isto ta certo pelo menos assin q ta funfando aqui, seque meu struts.xml.

<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE struts PUBLIC
    "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
    "http://struts.apache.org/dtds/struts-2.0.dtd">

<struts>

	<include file="struts-default.xml" />

	<!-- necessario para reconhecer os metodos internos da action -->
	<constant name="struts.enable.DynamicMethodInvocation" value="true" />
	<constant name="struts.devMode" value="false" />
	
	<package name="default" extends="struts-default"  >
	
	

		<interceptors>
			<interceptor name="login" class="br.inf.bluestar.interceptor.LoginInterceptor" />
			<interceptor-stack name="loginStack">
				<interceptor-ref name="login"></interceptor-ref>
			</interceptor-stack>
		</interceptors>

		<default-interceptor-ref name="loginStack"></default-interceptor-ref>

		<action name="login" class="br.inf.bluestar.controller.Login" method="logar">
			<interceptor-ref name="loginStack"></interceptor-ref>
			<result name="ok" >/view/clienteFornecedor/editarClienteFornecedor.jsp</result>
			<result name="!ok">/index.jsp</result>
		</action>

		<action name="logout" class="br.inf.bluestar.controller.Logout"
			method="logout">
			<result name="ok">/index.jsp</result>
		</action>

	</package>

</struts>

Esqueleto

Sim esta correto !

Kra então eu utilizaria da sequinte forma jogando um Bean do usuario na sessao e fazendo, e dentro das .jsp de acesso restrito daria um include em uma pagina que verificaria se usuario está na sessao, se não estiver redireciona pro login. Tem outra maneira melhor de se fazer este controle???

Esqueleto

tem uma forma melhor sim, quando a action for chama você verifica no interceptor e verifica se o usuario esta logado caso seja verdadeiro você executa a action caso seja falso manda ele de volta para login.action para efetuar o login algo como :


HttpServletRequest request = ServletActionContext.getRequest();
if(((Usuario)request.getSession().getAttribute("usuario"))!= null)){
        	invocation.invoke();
        }