2013-08-28 10 views
7

Shiroにマルチファクタ認証を実装する方法はありますか?誰か私にこれを実装する方法のヒントを教えてもらえますか?Shiro、Multi Factor認証

基本的な考え方は、ユーザ名とパスワードを使用して通常どおりにログインする必要がありますが、実際に認証される前に、ユーザが受け取ったワンタイムトークンを入力する必要があるということです。 SMS。

ありがとうございました!

+0

いいえ、考えられますか?誰ですか?私は多因子認証の独自の実装を「プラグイン」する必要があるヒントに満足していますので、Shiroと一緒に使えます! – RedSonja

答えて

6

私はついに自分の問題を解決しましたが、私はもちろん、常に他の提案にもオープンしています。私は史郎は、認証機構につながる自分のログインページに認証されていないユーザーに、リダイレクト先のログインページのURLを、変更されたすべての

まず:ファクタ認証フロー -

は、私は私自身の2を実装しました。 ユーザーはログインするために2つの「段階」を完了する必要があります。彼/彼女は これらが有効な場合、ユーザー名とパスワードを提供しなければならない最初の段階で

  • 、ユーザーがログインの第二段階にリダイレクトされます。
  • 一方、ワンタイムトークンが生成され、SMSを介してユーザ に送信されました。また、ユーザーの認証の進捗状況がセッション に保存されました(これは、ステージ1が完了したことを覚えています)。 が正常に完了しました。
  • ステージ2で、ユーザーはトークンを入力する必要があります。 トークンが
    • 有効か試み(5)
    • を超過した数ではなかった場合は、正しくトークンを入力しようとする試み の数が4を超えて(5分後)の有効期限が切れたユーザは、ステージに をリダイレクトされますすべての進捗状況が削除されます。私は
  • すべてがうまくいった場合、ユーザーは、ユーザーがページ彼/彼女にリダイレクトされます最終的には

(/彼女のノウハウを彼にせずに、もちろん) 史郎するために認証されますもともと要求されていますが、依然としてページにブックマークを付けることができます。もちろん、史郎は覚えています。私はいつも失効します。

+1

この動作を実装するコードはありますか? –

+0

@PauloPires申し訳ありませんが、私は実際に自由に利用できるコードを持っていません。私はこれをインターンシップで実装しました。しかし、プロシージャ自体の実装はそれほど難しくはありませんが、Shiroと一緒に動作させる方法を理解する必要があります。認証が終わったら、shiroの対応する関数を呼び出してください。 – RedSonja

+0

@Sonjaとにかくあなたの方法を共有してくれてありがとう!これはおそらく私を助けるだろう。あなたはShiroを使って最初の段階でユーザー名とパスワードを認証しますか? Les Hazlewoodによるこの記事から、Shiroベースのアプリケーションではこの(多段階認証)が達成されていますが、すべての必要な情報を収集してからShiroとやりとりするアプリケーションによって実現されています」それはあなたの方法で行うのが最善のようです、第2段階を行う前にユーザー名/パスワードを認証してください。ちょうど私が興味をそそられているように、どうやってSMSを使いましたか? – mikato

関連する問題