2010-06-29 1 views
0

Как мы можем скрыть (невидимые) некоторые строки 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("[email protected]"); 
    mail.To.Add("[email protected]"); 
    //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("[email protected]", "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(); 
    } 

} 
+7

Вы жестко указываете пароли в коде? возможно, это реальная проблема здесь – Grzenio

ответ

1

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

+0

Спасибо за ваш ответ // , но по электронной почте и это пароль в одной из наших проблем, и мы можем решить его по вашему решению. // Я сделал эту тему, чтобы найти путь для невидимых строк кода. // это возможно? – MoonLight

+0

@Lost - нет. невозможно скрыть код от других разработчиков.Если у них есть доступ к исполняемому файлу, они могут декомпилировать код и получить доступ, если он ему нужен. Лучшее, что вы можете сделать, это сохранить учетные данные в файле .config, который не является частью вашего исходного кода, тогда каждый может использовать свои собственные. Вы, конечно, не захотели бы исключать исходный код из SCM. – tvanfosson

+0

Спасибо за ваши ответы - похоже, нет способа спрятать код из друг друга (разработчики в общей команде) большое спасибо – MoonLight

1

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

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

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

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

<appSettings> 
    <add key="Email" value="[email protected]" /> 
    <add key="EmailPassword" value="ThePassword" /> 
</appSettings> 

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

+0

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

+0

hi - мы не хотим отправлять наши пароли в тело электронной почты // необходимо для сервера gmail (например) == однако разве это возможно для невидимых строк кода? – MoonLight

+0

В этом случае мы не можем использовать эти пароли ... – MoonLight