ひよっこ。

I want to…

    広告
  • つぶやき。。。

    • 間違って違うワークスペースでヘルプを出してしまった。怖... 19 hours ago
    • うーん、notificationなどで利用するComponent内で限定した(Reactで言う)stateを持ちたいんだけど...。素直にhyperappのstateで保持するか。 1 day ago
    • ふと気になって調べてみたら、ESNextの OptionalChainingはstage1にはいるのか。 github.com/tc39/proposal-… 2 days ago
    • @JorgeBucaran ありがとうございます。ちょっと試してみます。ondestroyのログは取れてたので、 > This event is not called in its child elements. が原因かなと思ってました。 2 days ago
    • SlackってNGOや教育割り引きあったのか。おおよそ85%オフとのこと get.slack.help/hc/ja/articles… 2 days ago
  • archive

  • ジャンル

  • tag

SpringSecurityでIPアクセス制御を行う

Posted by hikaruworld : 2011 6月 15

SpringSecurityを使っていて、特定のIPアドレス以外からの認証を制御したくなりました。
最初はVoterを拡張して、IPAccessVoter的なものを実装していたんですが、
ドキュメントを読んでみると、15. Expression-Based Access Controlというのを発見しました。

読んでみれば、use-expressions=”true”を設定して、accessを利用すれよいとのこと。
ソンナー、コンナカンタンナホウホウガ。

というわけで、ドキュメントに従って以下のように設定しました。

<http use-expressions="true">
    <intercept-url pattern="/hoge*" access="hasIpAddress('127.0.0.1')"/>
</http>

で、確認してみるとOKー。

気がつくのが遅かったorz…。

以下、余談。

大体こういう制御はプロパティに出しておきたいので、プロパティファイルに押し出して@Valueで値を設定しておきました。
プロパティファイルへのキーがconfigとすると、大体こんな感じになります。

<http use-expressions="true">
    <intercept-url pattern="/hoge*" access="#{config.ipAddress}"/>
</http>

設定ファイルはこんな感じ

ipAddress=hasIpAddress('127.0.0.1')

注意点としてはuse-expressionsを利用した場合、accesssの戻り値はbooleanにする必要があるみたいです。
hasIpAddressを複数指定したい場合は、こんな感じで指定します。

ipAddress=hasIpAddress('127.0.0.1') or hasIpAddress('localhost')

以上です。

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

 
%d人のブロガーが「いいね」をつけました。