J'ai l'habitude de concevoir qu'un objet SqlConnection soit rempli par un formulaire enfant, affichant le formulaire enfant, établissant l'objet SqlConnection et renvoyant l'objet renseigné au formulaire parent où l'exécution se poursuit. .NET 2.0 ou plus récente 0 comme suit:Y a-t-il un risque que l'objet SqlConnection soit une propriété pour un seul exécutable?
formulaire parent:
public SqlConnection sqlcon; //should be property but made it public for this example
public MainForm_Load(object sender, EventArgs e)
{
Login frm = new Login(this);
frm.ShowDialog();
if (this.sqlcon == null)
{ //no login
this.Close();
}
//else, continue execution
}
Login Form:
Mainform parent;
public Login(RandomParade frm)
{
InitializeComponent();
parent = frm;
}
private void btnOK_Click(object sender, EventArgs e)
{
//code to capture login details from textboxes
//test connection
parent.sqlcon = new SqlConnection("connection string with login details here");
this.Close();
}
Comme il est compilé en un seul exécutable (modificateurs d'accès dll traités séparer etc ...), est-ce que l'objet sqlConnection public présente un risque de sécurité? Quelqu'un pourrait-il prendre l'information à l'exécution? Quelle serait une meilleure implémentation de la transmission des informations de connexion à un formulaire "principal"?