SCWCD Dúvida: Login

3 respostas
B

Bom galera…Estou estudando para o scwcd e estou tentando fazer
um formulário básico de login com autenticação…

Primeiro inclui um usuário no arquivo tomcat-users.xml:

<tomcat-users>
   <role rolename="Admin"/>
   <user username="breno" password="123" roles="Admin"/>
  </tomcat-users>

Na página login.jsp:

<form method="POST" action="j_security_check">
       Username: <input type="text" name="j_username"/>
       Password <input  type= "password" name="j_password"/>
       <input type="submit"/>
   </form>

No web.xml:

<web-app>

    <display-name>Capítulo 12 - Segurança</display-name>
	<servlet>
	   <servlet-name>LoginServlet</servlet-name>
	   <servlet-class>com.example.LoginServlet</servlet-class>
	</servlet>
	
	<servlet-mapping>
	    <servlet-name>LoginServlet</servlet-name>
	    <url-pattern>/LoginServlet</url-pattern>
	</servlet-mapping>
	
	
	<login-config>
	    <auth-method>BASIC</auth-method>
	</login-config>
	
	<security-constraint>
	
	  <web-resource-collection>
	      <web-resource-name>Autorização</web-resource-name>
	      <url-pattern>/LoginServlet</url-pattern>
	      <http-method>POST</http-method>
	  </web-resource-collection>
	  
	  <auth-constraint>
	    <role-name>Admin</role-name>
	  </auth-constraint>
	  
	</security-constraint>
	
	<security-role>
	 <role-name>Admin</role-name>
	</security-role>
	
    </web-app>

O problema é que mesmo eu acertando o usuário e a senha da acesso negado com Http status 401…
Devo estar errando em alguma coisa boba…Se alguem puder ajudar ficarei grato… :slight_smile:

3 Respostas

Mr_Arthur
BASIC

Tente trocar por FORM.
Eu já tive uns erros bem estranhos com posicionamento de tags no web.xml.
Achei bem esquisito, mas acredito que não deve ser posicionamento não, e sim outra coisa que eu não sei.
Mas quando eu mudei a posição das tags deu certo… vai entender né?
Tente colocar o pra baixo do .

Valeu


Vim aqui postar uma dúvida também que está me intrigando e é sobre segurança também, lá vai.

Galera,
estou com uma dúvida na área de segurança no livro head first servlets & jsp.

Seguinte, já configurei no meu tomcat um role (adm) e um user/senha (arthur/lidel).
Fazendo autenticações com formulário (set no web.xml):

<login-config>
  	<auth-method>FORM</auth-method>
  	<form-login-config>
  		<form-login-page>/login/login.jsp</form-login-page>
  		<form-error-page>/login/erroLogin.jsp</form-error-page>
  	</form-login-config>
  </login-config>

Na tag definindo o com “", o livro diz que qualquer tipo de user definido com qualquer role terá acesso, contanto que se logue corretamente.
Fiz isso e testei com a senha errada na hora de me logar, resultado… ele me joga pra página de erro como o esperado.
Agora quando testei com login correto, ele não me manda para a página de erro que eu defini… e sim para uma "HTTP Status 403 - Access to the requested resource has been denied"
Ué, mais já que eu defini "
” no não era pra eu ter acesso?

Outro…
Ná pagina 669 do livro, ele fala que se eu tirar a tag teria o mesmo efeito de que se eu colocasse o “*” na tag
Mais tirando a tag, ele não chega nem a ir pra minha pagina de login, entra direto na pagina que defini no meu mapping de servlets, ou seja, não faz a validação.

Valeu denovo!

B

Olá

Obrigado por responder…

Já tinha tentado trocar o método de autorização para FORM

<login-config>   
    <auth-method>FORM</auth-method>   
    <form-login-config>   
        <form-login-page>login.jsp</form-login-page>   
        <form-error-page>erro.jsp</form-error-page>   
    </form-login-config>   
</login-config>

Deu a mesma coisa…so que ao invés de redirecionar para uma tela feia de 401 o container redirecionou para minha página de erro… :frowning:

Estranho o seu erro…Na teoria você teria que ter acesso independente do usuário…

Vou tentando aqui…seu eu resolver o erro eu posto…

J

eu tambem já tive erros estranhos com posicionamento no DD

rsrs

só por desencargo de consciencia, tenta pegar a security-role e botar acima de tudo :S

logo abaixo do

Criado 13 de setembro de 2009
Ultima resposta 13 de set. de 2009
Respostas 3
Participantes 3