我已經使用jasig(3.5.1)cas服務器併成功配置。它工作正常。我的項目有另一個要求。我在下面提到它 我需要另一個登錄機制。這意味着,而不是使用立場用戶名密碼,我需要企業用戶的公司代碼,手機號碼和密碼認證。所以我創造了該Jasig cas如何驗證視圖狀態下的自定義模型屬性
public class CodeMobileNumberCredintials implements Credentials{
@NotNull
@Size(min=1,message = "required.code")
private String code;
@NotNull
@Size(min=1, message = "required.mobileNumber")
private String mobileNumber;
@NotNull
@Size(min=1, message = "required.password")
private String password;
...
}
Then i created a variable called "codeMobileNumberCredintials"in web-flow.
<var name="credentials" class="org.jasig.cas.authentication.principal.UsernamePasswordCredentials" />
<var name="codeMobileNumberCredintials" class="org.jasig.cas.authentication.principal.CodeMobileNumberCredintials"/>
<view-state id="viewCorporateLoginForm" view="casCorporateLoginView" model="codeMobileNumberCredintials">
<binder>
<binding property="code" />
<binding property="mobileNumber" />
<binding property="password" />
</binder>
<on-entry>
<set name="viewScope.commandName" value="'codeMobileNumberCredintials'" />
</on-entry>
<transition on="submit" bind="true" validate="true" to="realCorporateSubmit">
<evaluate expression="authenticationViaFormAction.doCorporateBind(flowRequestContext, flowScope.codeMobileNumberCredintials)" />
</transition>
</view-state>
問題的另一個證書類Bean驗證過程中工作不適合我的自定義登錄form.But正常的用戶名密碼驗證的形式(submiting沒有得到安寧的用戶名和密碼的形式時,它說:「用戶名和密碼空白「)。但是我的自定義驗證表單未經驗證,直接進入控制器類。
我花了很多時間來做到這一點。任何人都可以幫助我完成我的任務。
Thank you
Amila