Fórum reCaptcha x SpringSecurity #616928
16/10/2021
0
Bom dia!
Estou tendo problemas em um form de login para o reCaptcha do Google usando o SpringSecurity. Quando submeto as credenciais a aplicação não valida
que os campos de usuário e senha não foram preenchidos e também que o checkBox do reCaptcha não foi marcado. O aviso só vem no Controller quando
tenta buscar o usuário e a senha em brancos no banco de dados e que obviamente não existem e então propagada a mensagem de USUÁRIO E SENHA inválidos.
Porém eu preciso bloquear os campos em branco e também validar o reCaptcha para evitar bots. Em outros forms , por exemplo o de recuperação de senha, isso
não ocorre , eles estão funcionando como esperado. Já comparei e não detectei o erro.
View:
Estou tendo problemas em um form de login para o reCaptcha do Google usando o SpringSecurity. Quando submeto as credenciais a aplicação não valida
que os campos de usuário e senha não foram preenchidos e também que o checkBox do reCaptcha não foi marcado. O aviso só vem no Controller quando
tenta buscar o usuário e a senha em brancos no banco de dados e que obviamente não existem e então propagada a mensagem de USUÁRIO E SENHA inválidos.
Porém eu preciso bloquear os campos em branco e também validar o reCaptcha para evitar bots. Em outros forms , por exemplo o de recuperação de senha, isso
não ocorre , eles estão funcionando como esperado. Já comparei e não detectei o erro.
View:
<h:form id="formLogin" prependId="false"> <!-- prependId = false para o JSF nao gerar os Ids automaticamente -->
<span>${SPRING_SECURITY_LAST_EXCEPTION.message}</span>
<p:growl id="growLogin" showDetail="true" />
<p:focus id="focus" context="formLogin"/>
<p:panelGrid columns="2" columnClasses="topAligned, topAligned" >
<h:column>
<p:fieldset">
<div class="login-panel ui-fluid">
<div class="ui-g">
<div class="ui-g-12">
<h:panelGroup>
<p:outputLabel style="font-weight:bold" for="username">Informe o seu e-mail</p:outputLabel>
<p:inputText alt="Informe o seu e-mail!" id="username" maxlength="80" value="#{loginController.login}" placeholder="meuemail@email.com.br" required="true" requiredMessage="O e-mail deve ser informado!">
<f:validateLength minimum="1" />
</p:inputText>
</h:panelGroup>
</div>
<div class="ui-g-12">
<p:outputLabel style="font-weight:bold" for="username">Informe a sua senha</p:outputLabel>
<h:panelGroup styleClass="md-inputfield">
<p:password alt="Informe a sua senha!" id="password" value="#{loginController.password}"
required="true" placeholder="Senha" maxlength="15"
requiredMessage="A senha deve ser informada!">
<f:validateLength minimum="1" />
</p:password>
<button id="button" type="button" ="checkPassPwd('password','button')" ><i class="show-pass fa fa-eye fa-lg"></i></button>
</h:panelGroup>
<p:captcha value="Captcha" language="pt" required="true" requiredMessage="Informe o Captcha" validatorMessage="Erro na informação do Capcha" />
</div>
<p:panelGrid columns="2">
<p:column styleClass="coluna-acao">
<p:commandButton alt="Confirmar" id="btnLogin" value="Confirmar" update="growLogin" ajax="false"
action="#{loginController.efetuarLogin()}" icon="ui-icon-person" style="margin-bottom: 10px;"/>
<p:commandButton alt="Limpar" value="Limpar" icon="ui-icon-person" ajax="false" style="margin-bottom: 10px;" type="reset" />
</p:column>
<p:column>
<a href="esqueciSenha.xhtml">Esqueci minha senha</a>
<br/>
<a href="preCadastro.xhtml" >Não tenho cadastro</a>
</p:column>
</p:panelGrid>
</div>
</div>
</p:fieldset>
</h:column>
<h:column>
<a href="./resources/Manual.pdf" style="color:red;font-weight:800;" target="_blank">Como usar a plataforma?</a>
<p:fieldset legend="Mural de avisos" >
<ul>
<li><h:outputText value="#{loginController.mensagem1}"/></li>
<li>
<h:outputLink value="#{loginController.mensagem3}">
<h:outputText value="#{loginController.mensagem2}"/>
</h:outputLink>
</li>
</ul>
</p:fieldset>
<h3>Fale Conosco</h3>
<p:panelGrid columns="2">
<p:column>
<h:outputText value="Site"/><br></br>
<h:outputText value="E-mail"/><br></br>
<h:outputText value="Telefone"/><br></br>
</p:column>
<p:column>
<h:outputText value="#{loginController.telefone}"/>
</p:column>
</p:panelGrid>
</h:column>
</p:panelGrid>
</h:form>
William Maciel
Curtir tópico
+ 0
Responder
Clique aqui para fazer login e interagir na Comunidade :)