SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Spring FrameworkとCurl ORBを用いたアプリケーション開発(AD)

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

第3回

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

ログインサービス

 ここでは、ユーザー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>

次のページ
アクセス制御

この記事は参考になりましたか?

  • このエントリーをはてなブックマークに追加
Spring FrameworkとCurl ORBを用いたアプリケーション開発連載記事一覧
この記事の著者

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

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

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

【AD】本記事の内容は記事掲載開始時点のものです 企画・制作 株式会社翔泳社

この記事は参考になりましたか?

この記事をシェア

  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/3857 2009/05/26 14:00

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング