-- 體驗範例程式 --
本範例大部份程式碼都和上一篇相同,只有一小部份有稍加修改,茲表列如下:
相同的部份:
1.Application.java
2.SignOut.html
3.SignOut.java
有修改的部份:
1.Session.java:將getRoles()改成回傳Role.ADMIN的角色。
@Override
public Roles getRoles() {
//如果驗證成功則給予ADMIN的角色名
if (isSignedIn()) {
return new Roles(Roles.ADMIN);
}
return null;
}
2.SignIn.html:將之前自訂的登入表單全部移除,因為使用內建的SignInPanel可使用任何tag(在此範例是使用span)。
<wicket:extend>
<p>
<i>Username and password are both "wicket"</i>
</p>
<span wicket:id="signInPanel"/>
</wicket:extend>
3.SignIn.java:最大的修正是將自訂Form的部份移除,並且使用內建的SignInPanel。
package com.myapp.wicket;
import org.apache.wicket.authroles.authentication.panel.SignInPanel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
/**
*
* @author Hsiao Shengche
*/
public final class SignIn extends BasePage {
//將傳入的PageParameters指定為null
//意即一定要出現登入畫面(若沒有登入的話)
public SignIn() {
this(null);
}
public SignIn(PageParameters params) {
//使用SignInPanel
//org.apache.wicket.authroles.authentication.panel.SignInPanel
//可以使用記憶功能(會出現checkbox)
add(new SignInPanel("signInPanel", true));
}
}
No comments:
Post a Comment