.Netログイン手順のヘルプが必要です(リモートマシンではなくローカルマシンで動作します)
-
03-07-2019 - |
質問
本当にばかげた問題を抱えていますが、1週間が経ち、先へ進むことはできません。 認証によって保護されている小さなアプリがあります。すべてがローカルで機能し、ログインなどができます。リモートマシンでは、ログインできません。ログインが認識されないことがわかります。今、私はそれがdb接続などかもしれないと思ったので、asp_usersテーブルをリストする小さなテストページを作成し、ユーザーに変更を加えることでローカルとリモートの両方がその接続を介して同じテーブルを見ていることがわかります、なぜユーザー認証が機能しないのですか?私を超えて。
明確にするために、asp.netアプリとフォーム認証であり、db接続は、asp_usersテーブルをリストする作成したテストページに基づいて機能しています。
実際にはエラーは報告されず、単に 'あなたのログイン試行は成功しませんでした。もう一度やり直してください。」 それは本当にシンプルなものでなければならず、今私はそれを見るにはあまりにもイライラしているので、私は助けを求めています。助けて ! :)
OKなので、web.configの一部を投稿しようとしましたが、表示されません。これは、接続文字列とメンバーシップおよびロールセクション(プロファイルなし)を備えた本当に基本的な構成です。質問は、これについてどうするか、何をチェックするかです。
建設的なコメントを事前に感謝します。
Zeljko
解決
ログインすることはできたが、サイトは「Remember Me」を拒否したという点で、やや似たような状況がありました。選択されたとき。メンバーシッププロバイダーとロールプロバイダーの両方が同じリソースを指していることを確認するようになりました。ええ、それは「Doh!」私の瞬間。 :)
リモートサーバーでSQLExpressを使用しようとしていますか、それとも完全なSQLServerインスタンスを指していますか?私の経験では、ほとんどの共有ホスティング環境は、App_Dataフォルダーで.MDFを使用できるようにセットアップされていないということです。
試してみることがいくつかあります:
-
ログインIDがロックアウトされていないことを確認してください。それは本当にそれと同じくらい簡単かもしれません
-
ログインページを含むフォルダーにセキュリティトリミングがないことを確認します
-
web.configファイルの適切なプロバイダー設定を確認し、それを確認します
-
すべてのプロバイダは、「アプリケーション」に同じ値を設定する必要があります。属性
-
すべてのプロバイダーが同じ接続文字列とプロバイダー" set"を使用する必要があります
- これはおそらく SqlMembershipProvider および SqlRoleProvider を使用することを意味します
- あなたのアプリケーションがv3.5アプリでない場合は、System.Web.Securityへの参照を追加する必要があります。それが実際に必要な名前空間です
- サイトでSQLExpressを使用できることが確実な場合は、 AspNetMembershipProvider および AspNetRoleProvider でこれを試してください。
-
HTH!
他のヒント
ドメインを持っていますか?そうしないと、asp.netアプリが実行されているシステムのユーザーとしてログインする必要があります。
ドメインをお持ちの場合は、ログインしてみてください
ドメイン名\ユーザー名
ただそれをそこに投げる。
使用している認証のタイプは明確ではありませんが、Windows認証の場合は、ログインしているユーザーをローカルマシンから読み取っていて、ユーザーがリモートに存在しない可能性があります。
フォーム認証を正しく実装している場合、データベース接続の問題である可能性があるため、そこでトラブルシューティングを開始する必要があります。
- おそらく、SQL管理スタジオからリモートマシンからdbに接続しようとすることから始めます(web.configの接続情報を使用して)
IISのディレクトリセキュリティ設定とは何ですか? 「匿名アクセスと認証制御」の設定が同じであることを確認してください。ダイアログ。ここでの無効な設定は、この特定のエラーの最も可能性の高い原因です。