48

ASP.NET Web アプリケーションで HTTPS を使用したいのですが、Login.aspx ページに対してのみです。

これはどのように達成できますか?

4

5 に答える 5

31
  1. 最初に証明書を取得または作成します

  2. http://www.codeproject.com/Articles/7206/Switching-Between-HTTP-and-HTTPS-Automatically-Verから SecureWebPageModule モジュールを取得します。設定手順は記事に記載されています。

  3. secureWebPages タグを web.config に追加します

    <configuration>
        ...
        <secureWebPages enabled="true">
            ...
        </secureWebPages>
        ...
        <system.web>
            ...
        </system.web>
    </configuration>
    
  4. https プロトコルに使用するファイルとディレクトリを追加します。

    <secureWebPages enabled="true">
        <file path="Login.aspx" />
        <file path="Admin/Calendar.aspx" ignore="True" />
        <file path="Members/Users.aspx" />
        <directory path="Admin" />
        <directory path="Members/Secure" />
    </secureWebPages> 
    

お役に立てれば!

于 2011-01-04T19:04:45.507 に答える
12

独自の証明書を公開することも、購入することもできます。会社によっては、証明書を購入すると、ほとんどのブラウザーの証明書ストアに既に保存されていることを意味します。自己公開されたものはそうではなく、ユーザーは証明書をインストールする追加の手順を実行する必要があります。

使用している IIS のバージョンはわかりませんが、IIS 6 の詳細な手順を次に示します。

比較的安価な証明書を購入するか、大物 (verisign) を使用して拡張検証証明書を取得し、アドレス バーが IE の緑色に変わるようにすることができます。また、やや厳密な検証プロセスであり、時間がかかります。

Web サイトにアクセスするすべてのユーザーがわかっている場合は、独自のユーザーをインストールしても問題ありません。ただし、匿名ユーザー (あなたが知らない) を含むオープンな Web サイトの場合は、ほとんどの主要なブラウザー、証明書ストアに既にあるものを購入するのがおそらく最善です。

IIS を介して SSL を有効にし、login.aspx ページのみに SSL を要求し、残りのページには要求しないようにすることができます。

于 2009-02-12T02:21:19.060 に答える
10

SSL をセットアップ/インストールした後、ログイン ページで何らかのリダイレクトを https:// に行う必要があります。次に、検証後にユーザーが送信されるページが何であれ、それは http://.

Protected Sub Page_PreRender(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.PreRender
    If Request.IsSecureConnection = False And _
        Not Request.Url.Host.Contains("localhost") Then

        Response.Redirect(Request.Url.AbsoluteUri.Replace("http://", "https://"))
    End If
End Sub

これは、マスター ページまたは https が必要なすべてのページに実装する方が簡単な場合があります。「localhost」を確認することで、テスト環境でエラーが発生するのを回避できます (テスト サーバーに「mytestservername」を確認する以外の名前がない限り)。

于 2009-02-12T02:24:06.650 に答える
5

免責事項-私はこのプロジェクトの開発に関わっていました

http://nuget.org/packages/SecurePages/を使用することをお勧めします。これにより、特定のページを保護したり、正規表現を使用して一致を定義したりできます。また、正規表現に一致しない、または直接指定されたすべてのページを強制的にHTTPに戻します。

NuGetを介してインストールできます。Install-Package SecurePages

ドキュメントはこちら:https ://github.com/webadvanced/Secure-Page-manager-for-asp.net#secure-pages

簡単な使用法:

SecurePagesConfiguration.Urls.AddUrl("/cart");

また

SecurePagesConfiguration.Urls.AddRegex(@"(.*)account", RegexOptions.IgnoreCase | RegexOptions.Compiled | RegexOptions.Singleline);
于 2013-02-09T00:00:49.433 に答える
3

IIS 構成で HTTPS を有効にすることはできますが、SSL 証明書を取得して IIS にプラグインしない限り、「安全」ではありません。ポート 443 が開いていることを確認します。

于 2009-02-12T02:17:09.837 に答える