コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

No. 1 トークンの使い方なり

トークンの使い方がドキュメントに見当たらなかったので、チュートリアルから抜粋。
ドキュメントにないのは、SAStrutsに依存した仕組みでなくて、Strutsの仕組みだからでしょう。
TokenProcessorは初めて知りました。

public class IpAction {
    public HttpServletRequest request;

    @Execute(validator = false)
    public String reg() {
        TokenProcessor.getInstance().saveToken(request);
        return "ipReg.jsp";
    }

    public ActionMessages validate() {
        ActionMessages errors = new ActionMessages();
        if (!TokenProcessor.getInstance().isTokenValid(request, true)) {
            errors.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage(
                "errors.invalid",
                "Token"));
        }
        return errors;
    }
}

トークンを使用するために、HttpServletRequestが必要。トークンのチェックをしたいページで、トークンを発行。

TokenProcessor.getInstance().saveToken(request);

で、トークンをチェックするには、

TokenProcessor.getInstance().isTokenValid(request, true)

isTokenValidの第二引数がtrueだとチェックの時点でセッション上のトークンも削除。