2011-12-08 6 views
2

私はrestils_authenticationプラグインをrails 2.3.5で使用します。応用。 このアプリケーションでは、1つのアカウントに対して1つのセッションで同時にログインすることを許可します。 つまり、ユーザーが複数のコンピュータを使用して単一のアカウントでログインしないようにするためです。 restful_authenticationプラグインはこの機能をサポートしていますか? そうでなければ、どうすればこの機能を実現できますか? 私に助言を与えてください。 ありがとうございます。restful_authentication(レールプラグイン)を使用して1つのアカウントに1つのセッションのみを許可する方法

答えて

1

出荷時、ユーザーIDを持つ表のセッションIDを追跡し、同じセッションIDが使用されていることを確認できます。しかし、これは厄介で、ログアウトを忘れたときにユーザーに問題を引き起こすでしょう。セッションのタイムアウトを実装する必要があります。そうすれば、セッションを永久にロックするセッションに陥ることはありません。

代替方法はauthlogicに切り替えることです。また、これをそのままの状態でサポートすることはできませんが、実装が容易になるはずです。 1つの可能性のある解決策has been posted here.私はそこに書かれたものをテストしていませんが、このような状況では私がやろうとしているようなアプローチです。

多くのアプリでrestful_authenticationauthlogicの両方を使用した場合、authlogicが優勝します。多くの人が成功したDeviseもあります。 (私はそれらの1つではありませんが、おそらく私のニーズはこの宝石が提供していたものと一致しませんでした)新しい宝石のよりモジュラーなデザインが必要であるため、既存の設定に何かをハッキングする前にDeviseとauthlogicを必ず探検してください。それが終わるときれいなコードを生成します。

また、Railsを最新の2.3。*に更新してください。 2.3.5以降、多くのセキュリティ修正が行われています。

関連する問題