CodeZine(コードジン)

特集ページ一覧

Spring FrameworkとCurl ORBを用いたアプリケーション開発
ユーザ認証とアクセス制御

第3回

  • LINEで送る
  • このエントリーをはてなブックマークに追加
2009/05/26 14:00

目次

ログインサービス

 ここでは、ユーザーIDとパスワードを渡し、成功か否かを結果として返す簡単なサンプルを紹介します(実際のプロジェクトでは、ここに認証のロジックをコーディングしてください。また、暗号化などにも考慮してください)。以下は、ログインサービスとユーザー情報のサンプルです。

LoginService(ログインサービス)
package sample;

import javax.annotation.Resource;
import org.springframework.stereotype.Service;
import com.curlap.orb.security.RemoteService;

/* ログインサービス */
@RemoteService
@Service("login")
public class LoginService {

	@Resource
	private UserInfo userInfo;
	
	/* ログインメソッド */
	public boolean login(String userId, String password) {
		if (userId.equals("user01") && password.equals("pass")) {
			userInfo.setUserId(userId);
			userInfo.setHasLogined(true);  //trueをセット
			return userInfo.isHasLogined();
		}
		return false;
	}
}
UserInfo.java(ユーザ情報)
package sample;

import java.io.Serializable;

/* ユーザー情報 */
public class UserInfo implements Serializable{

	private static final long serialVersionUID = 1L;

	private String userId;
	
	private boolean hasLogined;
	
	public String getUserId() {
		return userId;
	}
	public void setUserId(String userId) {
		this.userId = userId;
	}
	public boolean isHasLogined() {
		return hasLogined;
	}
	public void setHasLogined(boolean hasLogined) {
		this.hasLogined = hasLogined;
	}
}

 このサンプルの認証ロジックは、単純にユーザーID:user01、パスワード:passであればtrueを返すものとなっています。ログインに成功した場合、LoginServiceのフィールドであるUserInfoのhasLoginedにtrueをセットします。また、このUserInfoはセッションごとに作成されるようにするため、Springの設定ファイル(applicationContext.xml)に以下の行を追加し、スコープをsessionとして管理できるようにします。

applicationContext.xml
<bean id="userInfo" class="sample.UserInfo" scope="session">
    <aop:scoped-proxy/>
</bean>

  • LINEで送る
  • このエントリーをはてなブックマークに追加

バックナンバー

連載:Spring FrameworkとCurl ORBを用いたアプリケーション開発

著者プロフィール

  • 岡田 一志(オカダ ヒトシ)

    大企業向けSI開発、IT基盤設計/構築やiDC設立プロジェクトの企画/開発/運用など幅広く活躍し、2006年にCurlに参画する。米Curl社(マサチューセッツ)にてCurl Core RTEの設計・開発に従事した後、現在は株式会社カールにて、Innovation Centerのオペレーションおよび...

あなたにオススメ

All contents copyright © 2005-2021 Shoeisha Co., Ltd. All rights reserved. ver.1.5