Thats exactly the correct way.
Do not forget to overwrite hashCode() and equals() which takes your new 
parameters into account. 
See RememberMeUsernamePasswordCredentials as an example.



Am 12.11.2010 um 18:52 schrieb Scott Battaglia:

> You should be extending our class with your own custom class and not 
> modifying the code.  My guess is even though you think you made the changes 
> you're probably still using the original class (that's merely a guess)
> 
> 
> On Fri, Nov 12, 2010 at 12:08 PM, Fco Javier Carreras Calero 
> <[email protected]> wrote:
> Hi,
> 
>  
> I´ve modified casLoginView.jsp for appears a select.  I´ve added:
> 
>  
>       <div class="row fl-controls-left">
> 
>                       <form:select path="sed" >
> 
>                         <form:option value="-1" label="Select a option" />
> 
>                           <form:option value="sed1" label="sed1" />
> 
>                            <form:option value="sed2" label="sed2" />
> 
>                     </form:select>
> 
>          </div>
> 
>  
> I´ve modified login-webflow.
> 
>  
> <view-state id="viewLoginForm" view="casLoginView" model="credentials">
> 
>         <var name="credentials" 
> class="org.jasig.cas.authentication.principal.UsernamePasswordCredentials" />
> 
>         <binder>
> 
>             <binding property="username" />
> 
>             <binding property="password" />
> 
>             <binding property="sed" />
> 
>         </binder>
> 
>         <on-entry>
> 
>             <set name="viewScope.commandName" value="'credentials'" />
> 
>         </on-entry>
> 
>                                <transition on="submit" bind="true" 
> validate="true" to="realSubmit">
> 
>             <set name="flowScope.credentials" value="credentials" />
> 
>             <evaluate 
> expression="authenticationViaFormAction.doBind(flowRequestContext, 
> flowScope.credentials)" />
> 
>         </transition>
> 
> </view-state>
> 
>  
> And I´ve modified the class UsernamePasswordCredentials:
> 
>  
>     private String sed;
> 
>  
> 
>     public final String getSed() {
> 
>         return this.sed;
> 
>     }
> 
>  
> 
>     public final void setSed(final String sed) {
> 
>         this.sed = sed;
> 
>     }
> 
>  
> but an error occurs:
> 
>  
> 2010-11-12 17:52:58,807 ERROR 
> [org.springframework.web.servlet.tags.form.SelectTag] - <Property not found>
> 
> org.springframework.binding.expression.PropertyNotFoundException: Property 
> not found
> 
>         at 
> org.springframework.binding.expression.ognl.OgnlExpression.getValue(OgnlExpression.java:87)
> 
>         at 
> org.springframework.webflow.mvc.view.BindingModel.getFormattedValue(BindingModel.java:240)
> 
>         at 
> org.springframework.webflow.mvc.view.BindingModel.getFieldValue(BindingModel.java:141)
> 
>         at 
> org.springframework.web.servlet.support.BindStatus.<init>(BindStatus.java:120)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getBindStatus(AbstractDataBoundFormElementTag.java:174)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getPropertyPath(AbstractDataBoundFormElementTag.java:194)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.getName(AbstractDataBoundFormElementTag.java:160)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.autogenerateId(AbstractDataBoundFormElementTag.java:147)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.resolveId(AbstractDataBoundFormElementTag.java:138)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractDataBoundFormElementTag.writeDefaultAttributes(AbstractDataBoundFormElementTag.java:122)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractHtmlElementTag.writeDefaultAttributes(AbstractHtmlElementTag.java:409)
> 
>         at 
> org.springframework.web.servlet.tags.form.SelectTag.writeTagContent(SelectTag.java:198)
> 
>         at 
> org.springframework.web.servlet.tags.form.AbstractFormTag.doStartTagInternal(AbstractFormTag.java:102)
> 
>         at 
> org.springframework.web.servlet.tags.RequestContextAwareTag.doStartTag(RequestContextAwareTag.java:79)
> 
>         at 
> org.apache.jsp.WEB_002dINF.view.jsp.default_.ui.casLoginView_jsp._jspService(casLoginView_jsp.java:241)
> 
>         at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
> 
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 
>         at 
> org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
> 
>         at 
> org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313)
> 
>         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260)
> 
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 
>         at 
> org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:646)
> 
>         at 
> org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:436)
> 
>         at 
> org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:374)
> 
>         at 
> org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:302)
> 
>         at 
> org.springframework.web.servlet.view.InternalResourceView.renderMergedOutputModel(InternalResourceView.java:238)
> 
>         at 
> org.springframework.web.servlet.view.AbstractView.render(AbstractView.java:250)
> 
>         at 
> org.springframework.webflow.mvc.servlet.ServletMvcView.doRender(ServletMvcView.java:50)
> 
>         at 
> org.springframework.webflow.mvc.view.AbstractMvcView.render(AbstractMvcView.java:180)
> 
>         at 
> org.springframework.webflow.engine.ViewState.render(ViewState.java:282)
> 
>         at 
> org.springframework.webflow.engine.ViewState.doEnter(ViewState.java:186)
> 
>         at org.springframework.webflow.engine.State.enter(State.java:194)
> 
>         at 
> org.springframework.webflow.engine.Transition.execute(Transition.java:227)
> 
>         at 
> org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51)
> 
>         at org.springframework.webflow.engine.State.enter(State.java:194)
> 
>         at 
> org.springframework.webflow.engine.Transition.execute(Transition.java:227)
> 
>         at 
> org.springframework.webflow.engine.DecisionState.doEnter(DecisionState.java:51)
> 
>         at org.springframework.webflow.engine.State.enter(State.java:194)
> 
>         at org.springframework.webflow.engine.Flow.start(Flow.java:535)
> 
>         at 
> org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:364)
> 
>         at 
> org.springframework.webflow.engine.impl.FlowExecutionImpl.start(FlowExecutionImpl.java:222)
> 
>         at 
> org.springframework.webflow.executor.FlowExecutorImpl.launchExecution(FlowExecutorImpl.java:140)
> 
>         at 
> org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:193)
> 
>         at 
> org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:771)
> 
>         at 
> org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:716)
> 
>         at 
> org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:647)
> 
>         at 
> org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:552)
> 
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
> 
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> 
>         at 
> org.jasig.cas.web.init.SafeDispatcherServlet.service_aroundBody2(SafeDispatcherServlet.java:115)
> 
>         at 
> org.jasig.cas.web.init.SafeDispatcherServlet.service_aroundBody3$advice(SafeDispatcherServlet.java:44)
> 
>         at 
> org.jasig.cas.web.init.SafeDispatcherServlet.service(SafeDispatcherServlet.java:1)
> 
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> 
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 
>         at 
> com.github.inspektr.common.web.ClientInfoThreadLocalFilter.doFilter(ClientInfoThreadLocalFilter.java:46)
> 
>         at 
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
> 
>         at 
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> 
>         at 
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> 
>         at 
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> 
>         at 
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
> 
>         at 
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> 
>         at 
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> 
>         at 
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)
> 
>         at 
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:857)
> 
>         at 
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588)
> 
>         at 
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)
> 
>         at java.lang.Thread.run(Thread.java:619)
> 
> Caused by: ognl.NoSuchPropertyException: 
> org.jasig.cas.authentication.principal.UsernamePasswordCredentials.sed
> 
>         at 
> ognl.ObjectPropertyAccessor.getProperty(ObjectPropertyAccessor.java:151)
> 
>         at ognl.OgnlRuntime.getProperty(OgnlRuntime.java:2210)
> 
>         at ognl.ASTProperty.getValueBody(ASTProperty.java:114)
> 
>         at ognl.SimpleNode.evaluateGetValueBody(SimpleNode.java:212)
> 
>         at ognl.SimpleNode.getValue(SimpleNode.java:258)
> 
>         at ognl.Ognl.getValue(Ognl.java:494)
> 
>         at 
> org.springframework.binding.expression.ognl.OgnlExpression.getValue(OgnlExpression.java:85)
> 
>         ... 68 more
> 
> 
>  
>  -- 
> You are currently subscribed to [email protected] as: 
> [email protected]
> 
> 
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user
> 
> -- 
> You are currently subscribed to [email protected] as: 
> [email protected]
> To unsubscribe, change settings or access archives, see 
> http://www.ja-sig.org/wiki/display/JSG/cas-user


-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/cas-user

Reply via email to