なぜ< CFLOGIN>を使用しないのですか?
-
03-07-2019 - |
質問
CFLOGINを使用しないのはなぜですか?数か月前にCF7で問題が発生したことを覚えていますが、何が間違っていたか思い出せませんでした。
解決
私は常にcfloginを使用していますが、うまく機能します。好きなように作業するのは少し難しいかもしれませんが、メリットは膨大です。ユーザーロールを使用してアプリケーションを微調整できると、権利ベースのカスタマイズの大部分が処理されます。以前は、セッション管理に問題があり、作業が困難でした。 j2eeセッションを有効にすると、これらの問題のほとんどが解消されるようです。
人気のあるフレームワークの中にはcfloginと互換性のないものがあるため、多くのフレームワークが表示されない場合があります。彼らは、アプリケーション機能を保護する独自のアプローチを持っている傾向があります。
それは少し風変わりであり、彼らはそれをあきらめるので、私は多くの人々がそれでイライラすると思う。他の人はcfloginで完全に対処されていない、より複雑なセキュリティニーズを持っているため、独自のシステムを作成します。具体的には、コンテンツ資産ごとに権利に対処する簡単な方法はありません。
他のヒント
私が経験した唯一の問題は、CF8のロールに関するものです。それは見事に実装されており、それが非常に期待どおりに動作しないことは少し残酷です。たぶんCF9で。
いずれにしても、独自の役割ベースのシステムを構築する(システムがチェックできるアクセスレベルのコンマ区切りリストを使用してセッション変数をユーザーに割り当てる)ことはそれほど難しくなく、私はそれを乗り越えました。
cfLoginの便利な点の1つは、サーバーモニターに接続してログインしているユーザーの数などを確認する方法です。
jsessionの使用に関する上記のポイントは真実です。すべてのcfアプリで行う価値があります。思い通りに機能させるために私が引きずり込んだ最高のものの1つです。
CFLoginは3つの理由で使用されません。
最初、それは少し気味が悪く、少し奇妙で、多くの人が思うように機能しません。ここにいくつかのコードを配置し、ユーザーがログインしていない場合、それを実行します。早い段階でいくつかのバグがあったことも助けにはなりませんでした。
2番目。Webアプリケーションに必要な基本的なセキュリティ機能がありますが、それ以上は進みません。本当に簡単に拡張することはできません。誰がそれを望んでいるのだと誰が言うのですか?
3番目、そして最も現実的には、人々がすでにその問題を解決しているからです。アプリケーションのセキュリティ保護、認証、および認可の問題領域は、コミュニティで十分に長い間考え出されており、ほとんどの人はその方法を知っています。 CFLoginはドアを再発明しています。少なすぎて遅すぎます。
今、だれもそれを使っていないということではありません。私は個人的にそれを数回使用して基本的な成功を収めましたが、ベルを鳴らす理由はありません。ほとんどのアプリケーションでは、CFLoginを使用しない方が理にかなっています。問題の領域はこのようにまたはそれであり、CFLoginは常に最もインテリジェントな方法でそれを解決するとは限りません。
CFLOGINには基本HTTP認証のキャッチがあり、CFLOGOUTを呼び出した後でもユーザーIDとパスワードを送信し続けることができることに注意してください。
これにより、一部の上級ユーザーがそこから離れたことがわかりました。
注意:Webサーバーベースを使用する場合 認証または任意のフォーム 基本HTTPを使用する認証 認可ヘッダー、ブラウザ 認証を送信し続けます までのアプリケーションへの情報 ユーザーがブラウザを閉じるか、または 場合によっては、すべてのブラウザーウィンドウが開きます。 その結果、ユーザーがログアウトした後 アプリケーションはcflogoutを使用します タグ、ブラウザが閉じるまで、 cfloginタグのcflogin構造 ログアウトしたユーザーの ユーザーIDとパスワード。ユーザーがログインした場合 ブラウザを閉じずに、 別のユーザーがページにアクセスする可能性があります 最初のユーザーのログイン。
私の場合(他の人も想定します)、主な理由は、PHPなどの他のプラットフォームからの移行です。 ACL開発の知識と習慣をすでに得ており、それらをCFで使い始めたということです。
ユーザーにとって使いやすく、開発者にとって柔軟で安全な方法を知っています。また、cfloginに切り替える必要はありません。
他のことでも同じことが起こることがあります。ほとんどの場合、cfform / cfinputを使用する代わりに、独自のJSを使用してクライアント側の検証を実装することを好みます。
(まだ!)このような深刻なバグがあるため:
http:// www.raymondcamden.com/index.cfm/2009/8/7/Watch-out-for-this-CFLOGIN-Bug