Invalid direct reference to form login page

blz turma?

tou tendo um problema ao tentar usar realm para autenticacao do tomcat…
qd eu digito o login e senha errado, o tomcat me manda para pag de erro… porem se eu digito o login e senha corretos, ele me retorna seguinte mensagem:

[quote]HTTP Status 400 - Invalid direct reference to form login page

type Status report

message Invalid direct reference to form login page

description The request sent by the client was syntactically incorrect (Invalid direct reference to form login page).
Apache Tomcat/5.5.15[/quote]

meu web.xml ta assim:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app xmlns="http://java.sun.com/xml/ns/j2ee" version="2.4">


	<!-- Restrições de segurança -->


	<security-constraint>
		<web-resource-collection>
			<web-resource-name>Paginas protegidas</web-resource-name>
			<url-pattern>/intranet/*</url-pattern>
		</web-resource-collection>
		<!-- Roles autorizadas a acessar os recursos acima -->
		<auth-constraint>
			<role-name>funcionario</role-name>
		</auth-constraint>
		<!-- Tipo de garantia de transporte requerida -->
		<user-data-constraint>
			<transport-guarantee>NONE</transport-guarantee>
		</user-data-constraint>
	</security-constraint>

	<login-config>
		<!-- Método de autorização -->
		<auth-method>FORM</auth-method>
		<!-- Login baseado em formulário -->

		<form-login-config>
			<form-login-page>/login.jsp</form-login-page>
			<form-error-page>/error.jsp</form-error-page>
		</form-login-config>
	</login-config>

	<!-- Definição das roles -->
	<security-role>
		<description>Usuarios com acesso a intranet</description>
		<role-name>funcionario</role-name>
	</security-role>
	<welcome-file-list>
		<welcome-file>index.html</welcome-file>welcome-file>
    	<welcome-file>index.jsp</welcome-file>welcome-file>
	</welcome-file-list>
</web-app>

O que pode estar errado??? :roll:

abraços…
Geraldo Barboza

Tb estou com o mesmo problema…
vc conseguiu resolver?

bom kra… tudo bem?
nao me lembro muito bem… mas se nao me engano esse erro era pq eu nao estava com a url correta…

tipo:
vc tem: http://localhost:8080/2007/intranet/index.jsp

e tudo q estiver na intranet sera protegido…
vc apenda digita o endereco correto, o tomcat mostra a pag de login e ele mesmo redireciona vc para la…

[]'s

Geraldo

E ae gente, td bem?

Bom, no meu caso já é o contrário.

De repente começou a mostrar isso tb, mas só dá certo quando eu acesso a página de login ao tentar acessar um diretório protegido. Exemplo: Ao tentar acessar um diretório protegido, a página de login que está na raiz da aplicação é ativada, daí só dá certo logar assim.

Exemplo:

Tento acessar: http://localhost8084/admin/ mas está protegido
então chama a página que está em http://localhost:8084/login.do e a partir daqui eu consigo logar.

Se eu tentar logar na raiz da aplicação (http://localhost:8084/login.do) mostra o erro 400

O web.xml está assim:

<login-config> <auth-method>FORM</auth-method> <realm-name>StripesSecRealm</realm-name> <form-login-config> <form-login-page>/login.do</form-login-page> <form-error-page>/error.do</form-error-page> </form-login-config> </login-config>

A página de login.do

[code]

<%@page contentType=“text/html” pageEncoding=“iso-8859-1”%>

<%@taglib prefix=“f” uri=“http://java.sun.com/jsf/core”%>
<%@taglib prefix=“h” uri=“http://java.sun.com/jsf/html”%>

<f:view>



" method="post"> Login: Senha: [/code]
  • PS: Lembrando que eu tento acessar o diretório protegido através de outra página mas com este mesmo form, e tb não dá certo.

  • PS: As extensões no web.xml precisam ser .do, pois e a extensão definida no faces-config.

Obrigado.