-- 體驗範例程式 --
本範例大部份程式碼都和上一篇相同,只有一小部份有稍加修改,茲表列如下:
相同的部份:
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