4

私は一連の Web アプリを管理しており、ほぼすべてが PHP で記述されており、その上にロールベースの承認システムを構築するための認証プラットフォームを見つけたいと考えています。また、システムサービス(SSHなど)などに使えるように認証システムを拡張できるようにしてほしい。

私が探している主な特徴のいくつかを、重要度順に以下に示します。

  1. 簡単な PHP の実装 (簡単にロールを保存/読み取るなど)。
  2. 可能であれば、冗長。認証システムがダウンしても、全員がロックアウトされるわけではありません。
  3. Windows および Mac 用のクライアントがあります。
  4. 簡単な Web ベースの管理 (ユーザー/ロールの追加/削除、パスワードの変更)。そうでない場合は、あまり手間をかけずに管理システムを構築できます。
  5. ワンタイムログオン。

また、認証トークンが発行されたときに、ユーザーの IP アドレスを保存し、それを使用して Web ベース以外のアプリケーションに対してユーザーを承認したいと考えています。そのため、たとえばユーザーがワークステーションでアイドル状態になったときに、デスクトップ クライアントがトークンを発行し、トークンを取り消すようにしたいと考えています。Kerberos が解決策になるかもしれないと考えていますが、他にどのような選択肢がありますか?

4

2 に答える 2

4

これを行う場合 (実際に過去に何度か行ったことがあります)、Kerberos と LDAP を組み合わせて使用​​します。Kerberos は認証を処理し、ユーザーにトークンを提供します。LDAP は承認を提供します。グループ メンバーシップに関する情報、ユーザーの連絡先情報など。

Kerberos は非常によくテストされており、広く展開されています。Kerberos で Web アプリケーションを保護するには、Apache の mod_krb5 または Stanford WebAuth などのソリューションを使用します。ユーザーが Kerberos に対して 1 回認証されると、ブラウザーは SPNEGO 経由でチケットを使用して、ユーザーを Web アプリケーションに自動的にログインさせます。Windows Active Directory ドメインをお持ちの場合、ユーザーはコンピューターのログイン セッションから使用できる Kerberos チケットを既に持っています。

Kerberos は、OpenSSH、さまざまな IPSEC VPN ツール、電子メール (SMTP と IMAP の両方)、XMPP (Jabber) チャットなど、他の多くのネットワーク サーバー プログラムでもサポートされています。

Kerberos インフラストラクチャは、好きなだけ冗長にすることができ、好きなように編成できます。レルムは、認証を提供する多くのサーバーを持つことができ、任意の方法で相互に信頼できます。

これは単なるソリューションではなく、シングル サインオンのソリューションです。

于 2010-07-08T06:29:55.190 に答える
2

あなたが探しているのは、(本質的に) Lightweight Directory Access Protocol (LDAP) サーバー/クライアントのセットアップです。PHP には組み込みのライブラリがあり、簡単に冗長化でき、windows/mac/linux 用のクライアントがあり、フロント エンドが利用可能で (現時点では良いものはお勧めできません)、任意のアプリケーション セットに認証を提供します。欲しいです。

必要なものを正確に実現するために配置する必要がある追加の要素がいくつかありますが、LDAP は最初に使用する必要があるフレームワークのように思えます。

于 2010-05-05T14:08:27.953 に答える