2015年4月30日木曜日

spring security 自動ログイン

アカウント作成後、自動ログインセッションを作成するメソッドです。
  1. public static void updatePrincipal(UserDetails newPrincipal) {
  2. Authentication authentication = new UsernamePasswordAuthenticationToken(newPrincipal, null, (Collection) newPrincipal.getAuthorities());
  3. SecurityContextHolder.getContext().setAuthentication(authentication);
  4. }
  5.  

java8 java.util.Optional.orElseThrow()の使い方

java8でOptionalの値がない場合は例外を発生させるという場合には、orElseThrowメソッドを使えます。

使い方は、

orElseThrow(() -> new MyException(someArgument)).

例外の引数はない時に

orElseThrow(MyException::new)

Linux システム起動時にカーネルが主力するメッセージを表示するコマンドは?

Linux システム起動時にカーネルが主力するメッセージを表示するコマンドは?
dmesg コマンドを使う

Lpic ランレベル

■現在のランレベルの確認
$ /sbin/runlevel

■ランレベルの変更 [ init ] [ telinit ]

まだ各ランレベルの意味は以下の通り
 0システムの停止
 1シングルユーザーモード
 2マルチユーザーモード(NFSなし)
 3マルチユーザーモード(テキストログイン)
 4未使用
 5マルチユーザーモード(グラフィカルログイン)
 6システムの再起動

2015年4月13日月曜日

mysql delete cascade制限を追加

mysql関連テーブル削除設定

例:memberテーブルとmember_attribute
  memberテーブルのレコードを削除する時、member_attributeにの関連レコードも削除する設定は、

alter table member_attribute add constraint fk_test1 foreign key (member_id) references members(member_id) on delete cascade;

spring ログアウト処理

springのログアウトする方法がいつくがあります。

spring security でログアウト以外は、以下のやりかたもあります。

Spring Securityを使っていれば、以下を呼べばセッションをクリアにしてくれます。
    SecurityContextHolder.clearContext();

もしくは、明確的にセッションを消す

 if (invalidateHttpSession) {
        HttpSession session = request.getSession(false);
        if (session != null) {
            session.invalidate();
        }
    }


SessionRegistry使うのも一つの選択かも
sessionRegistry.getSessionInformation(sessionId).expireNow();

2015年4月1日水曜日

intellij IEDA環境でplay frameworkのアプリケーションをデバッグする方法

Step1,「run」の「Edit Configurations」で新しい「remote」設定を作成
 「Name」欄に 「playframework」など任意な名前を入力
 「Port」欄に「9999」を設定

Step2,ターミネーターでdebug起動
$ activator -jvm-debug 9999
> run