Как мы можем скрыть (невидимые) некоторые строки CodeBehind (например, класс) от других разработчиков в общем проекте?

Как мы можем скрыть (невидимые) некоторые строки CodeBehind (например, класс) от других разработчиков в общем проекте?

Я задал этот вопрос, потому что сегодня мы работали над кодами электронной почты, и мы хотели отправить электронное письмо на все электронные письма программистов, отправив электронное письмо на наш общий веб-сайт.

Как мы можем скрыть наши пароли друг от друга?

Можно ли сделать 3 класса (для отправки писем 3 веб-разработчикам) и скрыть или скрыть эти классы (файл класса или строки кода), чтобы каждый пеграммер мог видеть только свой класс?

заранее спасибо///

код электронной почты выглядит так:

protected void Button1_Click(object sender, EventArgs e)
{

    //create mail message
    MailMessage mail = new MailMessage();
    //set the address
    mail.From = new MailAddress("Kazemipour@gmail.com");
    mail.To.Add("aaak@yahoo.com");
    //set the content
    mail.Subject = "Project email";
    mail.Body = "Hello World!";

    //send the message
    SmtpClient smtp = new SmtpClient();
    smtp.UseDefaultCredentials = false;
    smtp.Credentials = new System‎‎.Net‎‎.NetworkCredential("aaa@gmail.com", "pass");
    smtp.Host = "smtp.gmail.com";
    smtp.Port = 587;             
    smtp.EnableSsl = true;





    try
    {

        smtp.Send(mail);
        Button1.Text = "sent";
    }
    catch (System‎‎.Net.Mail.SmtpException exp)
    {
        Label1.Text = exp.ToString();
    }

}

2 ответа

Решение

Я бы предложил создать и использовать учетную запись службы, а не личную учетную запись, для отправки электронной почты с веб-сайта. Если возможно, попросите администраторов почтовой системы освободить эту учетную запись службы от пароля для отправки электронной почты. По моему опыту, администраторы, как правило, довольно хорошо умеют делать исключения для учетных записей служб с низким уровнем риска (потому что они не используются человеком для нормальной интернет-активности).

Вы не должны жестко кодировать пароли в классах, вы должны поместить такую ​​информацию в файл конфигурации. Вы можете зашифровать или хешировать пароль для дополнительной безопасности. Я также не уверен, зачем вам нужен пароль, чтобы отправить кому-то электронное письмо.

Вы могли бы сделать что-то вроде:

string strEmail = System.Configuration.ConfigurationManager.AppSettings["Email"];
string strPassword = System.Configuration.ConfigurationManager.AppSettings["EmailPassword"];
smtp.Credentials = new System‎‎.Net‎‎.NetworkCredential(strEmail,strPassword )

Вы можете сохранить адрес электронной почты и пароль в файле web/app.config, как показано ниже:

<appSettings>
  <add key="Email" value="arse@feck.com" />
  <add key="EmailPassword" value="ThePassword" />
</appSettings>

Пока у каждого delevloper есть свой собственный файл конфигурации, они могут хранить свой пароль в секрете, но общий код извлекает файл конфигурации.

Другие вопросы по тегам