6

シンプルな JSF ログイン ページを作成し、Spring セキュリティと統合しようとしています。

login.xhtmlのフォーム要素は次のとおりです。

    <h:form>

     <h:outputLabel value="User Id:" for="userId"/>

     <h:inputText id="j_username" label="User Id"
     required="true"   value="#{loginBean.name}" >

     </h:inputText>

     <h:outputLabel value="Password: "  for ="password"/>

     <h:inputSecret id="j_password" value="#{loginBean.password}" />

     <h:commandButton value="Submit" action="#{j_spring_security_check}" />

 </h:form>

しかし、レンダリングされた html ページには以下のようなものがあります。フォーム アクションと入力タグの名前を見てください。

フォーム要素

  <form id="j_idt6" name="j_idt6" method="post" 
    action="/jsfproject2/faces/login.xhtml"
       enctype="application/x-www-form-urlencoded">

そして入力タグ

   User Id:</label><input id="j_idt6:j_username" type="text"
     name="j_idt6:j_username" />

ここで、フォーム アクションを/j_spring_security_check'j_username' にして、入力ボックスを 'j_username' にします。j_password

どうすればこれを達成できますか?

4

2 に答える 2

1

それが私がやった方法です:

<form action="${request.contextPath}/appLogin" method="POST">
     <h:form prependId="false">
         <p:inputText id="app_username" placeholder="Username" name="app_username" styleClass="Wid80 TexAlCenter Fs18" required="true"/>
         <p:password id="app_password" placeholder="Password" name="app_password"  label="Password" required="true" styleClass="Wid80 TexAlCenter Fs18"/>
         <button type="submit" class="ui-button ui-widget ui-state-default ui-corner-all ui-button-text-only Wid60">
            <span class="ui-button-text">Login</span>
         </button>      
     <input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>    
     </h:form>
<input type="hidden" name="${_csrf.parameterName}" value="${_csrf.token}"/>
</form> 

Primefaces の Premium Theme Ronin と、「appLogin」などのカスタム ログイン URL と「app_username」などのカスタム パラメータを使用しています。

于 2016-10-23T09:17:33.480 に答える