C#およびMVCを初めて使用しました。ユーザーが初期SQL Server接続文字列を構成または変更できるイントラネットアプリケーションを作成しようとしています。接続はSQL混合モード認証をサポートする必要があります。私のバックエンドのスキルは例外的ですが、これはWebベースのイントラネットWebアプリケーションを作成する私の最初の試みです。私は3日間Googleを検索して、例がないか、チュートリアルや文書が見つからないようにしています。私はこれが受け入れられた練習であるかどうかわからないという点に達しました。私はVS2015、SQL Server 2012、C#、MVC、ASP.Net、および.Net Framework 4.61をターゲットにしています。どんな指導も高く評価されます。MVC/Cを使用してエンドユーザーSQL Server接続ダイアログを作成する方法
答えて
おそらくあなたは簡単しかしSqlConnectionStringBuilder
は、実行時に要求して、接続文字列を構築することができ、動的にweb.config
にデフォルト/初期接続文字列を変更(およびweb.config
上で直接それを変更することが有害と考えられる)ことはできません。
// assume these properties are part of DB provider definition
public class DatabaseSettings
{
public String ConnectionName { get; set; }
public String ServerName { get; set; }
public String DatabaseName { get; set; }
public String UserId { get; set; }
public String Password { get; set; }
}
// controller method definition
SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder();
builder.DataSource = DatabaseSettings.ServerName;
builder.InitialCatalog = DatabaseSettings.DatabaseName;
builder.IntegratedSecurity = true;
builder.UserID = DatabaseSettings.UserId;
builder.Password = DatabaseSettings.Password;
builder.MultipleActiveResultSets = true;
// modify initial connection string in runtime
// note that ConfigurationManager.ConnectionStrings["ConnectionStringName"].ConnectionString is readonly by default,
// thus use reflection to disable private bReadOnly field before adding custom connection string
var connectionString = ConfigurationManager.ConnectionStrings;
var collection = typeof(ConfigurationElementCollection).GetField("bReadOnly", BindingFlags.Instance | BindingFlags.NonPublic);
collection.SetValue(connectionString, false);
// This one may work if you tend to change default connection string value
// connectionString[0].ConnectionString = builder.ToString();
// Safer way by adding new name rather than replace default one
connectionString.Add(new ConnectionStringSettings(DatabaseSettings.ConnectionName, builder.ToString()));
AFAIKユーザー定義の接続文字列を各ユーザーのXMLファイルに格納し、誰かが要求したときにプログラムで読み込むことができます(Reading connection string from external config file参照)。
イントラネット&インターネット用フォーム認証(Windows &)については、完全なアプリケーションがフォーム認証モードに依存する必要がある2つのエントリポイント(つまり仮想ディレクトリ)にIISをセットアップします。 Windows認証のコントローラは、ユーザーの身元を渡すだけでメインサイトにリダイレクトされます。
メインサイトのログインページで、「Windows/Active Directoryアカウントでログイン」ボタン(既存のソーシャルメディアアカウントのログインボタンに似ています)を追加し、イントラネットユーザーを特別に細工されたコントローラにリダイレクトしますWindows認証モードから資格情報を受け取ります。
おそらく、これはあなたのニーズに答える最善の方法ではありませんが、少なくとも、何をすべきかを学び、理解するために心が開かれるかもしれません。
参照:
1)を変更し、接続文字列プログラム
http://david.gardiner.net.au/2008/09/programmatically-setting.html
2)デュアルモード認証
https://msdn.microsoft.com/en-us/library/bb669066(v=vs.110).aspx(MS SQL Server認証品)
これは私が必要としていたものです。ご協力いただきありがとうございます。 –
- 1. C++/CLIを使用してSQL Serverに接続する方法
- 2. Rを使用してSQL Serverに接続する方法は?
- 3. モバイルレポート発行者にSQL Server接続を作成する方法
- 4. Windows認証接続文字列を使用してOLEDBを使用してSQL Serverに接続する方法
- 5. SQL Serverに接続してAndroidでリストビューを作成する方法
- 6. WEBServerのSQL Server 2005接続文字列を作成する方法は? SQL Server 2005の接続文字列を作成する方法
- 7. プロットを使用して接続ポイントを作成する方法
- 8. Visual StudioでC#を使用してSQL Serverデータベースに接続文字列を作成する方法2015
- 9. OE10.2Bx86を使用してSQL Server x64をProgressに接続する方法は?
- 10. (照合Urdu_100_CI_AI)を使用してAndroid(JAVA)とSQL Serverを接続する方法
- 11. 目的のCを使用してSQL Serverに接続する方法
- 12. golangでGORMを使用してMicrosoft SQL Serverに接続する方法は?
- 13. PHPを使用してSQL Serverデータベースに接続する方法は?
- 14. jdbcを使用してSQL Serverのローカルホストに接続する方法は?
- 15. MFCを使用してSQL Serverに接続する最もよい方法
- 16. mssqlを使用してリモートのMS SQL Serverに接続する方法
- 17. SSMSを使用してSQL Server CEファイルに接続する方法
- 18. SQL Server Management Studioを使用して外部データベースに接続する方法は?
- 19. MonoDroidを使用してAndroidサーバーからSQL Serverに接続する方法
- 20. ODBCデータ接続を使用してローカルSQL Serverに接続する方法は? (ログインに失敗しました)
- 21. VB.Netコードを使用してSQL Server Express DBを接続する
- 22. ActiveRecordを使用してSQL Serverに接続する
- 23. ODBCを使用してSQL Server 2008に接続する
- 24. pypyodbcを使用してSQL Serverに接続する
- 25. R - RSQLServerを使用してSQL Serverに接続する
- 26. MacでiODBCを使用してMS SQL Serverに接続する
- 27. オンプレミスSQL ServerのOpenRowSetを使用してSQL Azure DBに接続
- 28. InstallShieldプロジェクトのインストールスクリプトを使用してSQL接続を作成
- 29. Visual Studio 2008 Ado.NetエンティティデータモデルとSQL Server 2012との接続を作成する方法
- 30. powershellを使用してSQL Serverに接続します。
「SqlConnectionStringBuilder」はおそらくあなたが定義した接続を構築するものです。シンプルなフォームは値を収集しますが、名前、住所、電話番号、サーバー、データベース、ログイン - そのデータだけを収集しているかどうかは関係ありません。 – Crowcoder