2011-01-16 2 views
25

これは非常に単純な、おそらく最もよく尋ねられる質問であり、ウェブアプリケーションの一部として頻繁に開発されています。 - ユーザーが新しいアカウントプロファイルに登録する必要がある - ネイティブアプリ認証を使用してユーザーを認証する/ FacebookやGoogleやYahooやOpenIDでログイン - 失われたパスワードの取得 を許可する - セッションハンドリングはウェブアプリケーション - 認証/ログインフレームワーク

を必要と私は使用することができるボックスフレームワーク(Drupalの、Liferayの、Tynamo、ウィケット??とタペストリー)のうちがあります私のアプリケーションをラップしてください。これはJSやHTMLの束になりますか?私は非常にシンプルで多分素朴な質問をしていることを知っています。しかし、これはすべてのWeb開発者達が通過するトピックです。任意の助け、助言とポインタが大変感謝します。

答えて

27

私は、Apache史郎をご覧になることをお勧め: http://shiro.apache.org/

それはあなたのアプリケーションのセキュリティ部分を処理し、あなたの事を保護する方法で大きな柔軟性を提供します。たとえば、アノテーションを追加して個々のメソッドを保護することができます(たとえば、管理者以外の場合はこのメソッドを実行できません)、個々のページ(たとえば、管理者以外の場合はこのページをロードできません)、 URLパターン(URLに/ admin/*を含むものにアクセスするにはadminでなければなりません)。

セキュリティがどれほど複雑であるかを教えてください。シロはとても使いやすいです。当初、コンセプトのいくつかを頭に浮かべるのにはちょっと時間がかかるかもしれませんが、シロは可能な限り複雑なものを隠す非常に良い仕事をしています。また、ユーザーリストは非常に敏感で非常に有用です。

タペストリーを使用している場合、http://tynamo.org/tapestry-security+guideを参照することができます。これにより、ShiroをTapestryアプリケーションで起動して実行するのが非常に簡単になり、テンプレートで使いやすいタグがいくつか表示されます。

Shiroは、OpenID、OAuth、Facebookのいずれかの機能をあなたに提供するつもりはありませんが、その部分をアプリケーションにカスタマイズする必要があります。私は、フレームワークへのこれらのタイプの認証を可能にする機能を統合するのに役立ついくつかの作業があると考えています。

城の上に構築されたフレームワークの中には、探しているものをさらに提供するものがあります。たとえば、http://tynamo.org/tynamo-federatedaccounts+guideは、タペストリーアプリケーションのフェデレーションログインのサポートを強化します。それはまだ初期段階ですが、Tapestryを使用しているかどうかを検討している可能性があります。たとえそれがあなたが必要とするものを正確に行なわなくても、それは見るべき良い例を提供するかもしれません。

また、に興味があるかもしれない:サイドノートとして http://static.springsource.org/spring-security/site/

:セキュリティに加えて、あなたは典型的なWebプロジェクトに必要となる他の技術の束は、おそらくあります。セキュリティ、永続性、基本的なユーザー管理などが必要な場合があります。多くのWebアプリケーションを作成する場合は、新しい基本アプリケーションをすばやく起動して初期構造をすべてコーディングすることができるMavenアーキタイプを作成する価値がありますすでに設置されています。 AppFuseはこれをやろうとしますが、Webフレームワークに関してはさまざまな選択を可能にします。どのテクノロジを使用するのか知っていれば、ニーズに合わせてカスタマイズされたスタートアップアプリケーションを持つことで、時間を節約できます。

0

私はApache ShiroまたはSpring Securityを見ていきます。

関連する問題