2

オンプレミスのActiveDirectoryとSQLAzureを統合して、ユーザーがazureで実行されているアプリケーションにアクセスできるように認証したいと考えています。

一部のユーザーはActiveDirectoryにいて、一部のユーザーはsqlazureデータベースにいます。私が必要としているのは、ユーザーがアプリケーションにアクセスするときに、ユーザー名やパスワードなどの資格情報を要求する必要があるということです。現在、この認証は、オンプレミスのActiveDirectoryとSQLAzureを使用して行われます。

これは非常に重要です親切な返信

ありがとうございました


'Default.aspx'が私のホームページであるプロジェクトを作成しました

Active Directoryを介した認証については、 http://www.developerfusion.com/article/121561/integrating-active-directory-into-azure/の記事を参照しました。これは、ユーザーが私のURLを入力すると、オンプレミスのActiveDirectoryでチェックインされるユーザー名とパスワードを要求するポップアップショーのように機能します。

その後、プロジェクトに「login.aspx」という新しいページを追加しました。このページには、いくつかのテキストボックスと、sqlazureテーブルを介して認証するためのログインボタンがあります。このテーブルには、名前とパスワードの列が含まれています。ここにチェックボックスも作成しました。 ActiveDirectoryに存在するユーザーの場合は「Default.aspx」にリダイレクトされます。

Login.aspxをホームページとして設定しました。

プロジェクトを実行しても、ActiveDirectory認証のポップアップが自動的に表示されます。

何をすべきか返信してください?

4

3 に答える 3

1

2 つの認証メカニズムがあり、1 つは Active Directory を使用し、もう 1 つはカスタムのユーザー名/パスワードを使用しているということですか? 実際には、独自のアプリケーションでユーザーの Active Directory 資格情報を手動で要求しない方がよいでしょう。そうしないと、アプリケーションでユーザーの Windows 資格情報が盗まれることになります。組み込みの Windows 認証を使用してください。Windows Azure には 2 つのオプションがあります。1 つは、SilverNinja が指摘したように、ADFS と連携することです。もう 1 つは、Windows Azure Connect を使用してローカル ドメインに参加し、標準の Windows 認証を使用できるようにすることです。詳細については、 http://msdn.microsoft.com/en-us/library/windowsazure/gg433029.aspxを確認することをお勧めします。

その後、ユーザーが Windows 資格情報またはカスタム資格情報を使用するかどうかを尋ねるサインイン オプション ページを提供できます。ユーザーが Windows 認証を選択すると、ユーザーを ADFS のサインイン ページにリダイレクトできます (または、Azure インスタンスがローカル ドメインに参加している場合、サインインの進行状況は透過的になります)。ユーザーがカスタム資格情報を選択した場合、ユーザー名とパスワードを要求してから、SQL Azure に対して認証を行うことができます。

よろしくお願いします、

明徐。

于 2012-04-17T08:36:09.037 に答える
0

WIFのSTS参照の追加機能を使用すると、Webサイトを使用する前にSTSにサインインする必要がある構成ファイルが生成されます。あなたはあなたのweb.configでこのようなものを見ることができます:

<authorization>
  <deny users="?"/>
</authorization>

したがって、ユーザーがSTS(この場合はADFS)にサインインしていない場合、ユーザーはページを表示できません。

これを回避するには、ログインページを配置するサブフォルダーを作成し、すべてのユーザーからのアクセスを許可するようにサブフォルダーを構成してください。たとえば、次のようになります。

  <location
   path="loginfolder">
<system.web>
    <authorization>
      <allow users="?"/>
    </authorization>
</system.web>
</location>

ログインページで、最初にユーザーにWindows認証とカスタム認証のどちらかを選択させることができます。まだユーザーの資格情報を要求しないでください。ユーザーがWindows認証を選択したら、loginfolderの下にない別のページにユーザーをリダイレクトします。これにより、ユーザーがSTSにサインインする必要がある通常のWIF動作がトリガーされます。ユーザーがカスタム認証を選択した場合は、ログインフォームを表示してください。ユーザーがサインインした後、ユーザーに役割を割り当てることができるため、ユーザーは匿名ではなくなり、サイトを表示できるようになります。

よろしくお願いします、

明徐。

于 2012-04-18T07:54:48.813 に答える
0

以前の返信で指摘したように、ログイン ページを匿名アクセスを許可するフォルダーに配置してください。

これを回避するには、ログイン ページを配置するサブ フォルダを作成し、すべてのユーザーからのアクセスを許可するようにサブ フォルダを構成してください。たとえば、次のようなものです。

  <location
   path="loginfolder">
<system.web>
    <authorization>
      <allow users="?"/>
    </authorization>
</system.web>
</location>

「loginfolder」は、ログイン ページ ファイルを含むフォルダーの名前を意味します。

ただし、ユーザーがログインフォーム、つまりフォーム認証からログインしようとすると、Default.aspx にリダイレクトする代わりに、Windows 認証のポップアップが表示されます。

詳細については、 http://msdn.microsoft.com/en-us/library/b6x6shw7.aspxを確認することもできます。

よろしくお願いします、

明徐。

于 2012-04-19T08:04:55.390 に答える