2010-07-13 2 views
0

У меня есть таблица пользователей, которую я хочу использовать с динамическими данными. Проблема в том, что у меня есть поле «Пароль», которое мне нужно шифровать с помощью MD5. Я использую Entity Framework, как я это делаю?Поле пароля с динамическими данными Asp.Net

+0

Я не понимаю проблему, почему вы не можете просто зашифровать пароль и сохранить его в поле на сущности? Например: var pwd = EncryptPassword (пароль); entity.Password = pwd; – CodingGorilla

+0

Я использую динамические данные, у меня нет кода, который вызывает Save. Но если вы знаете, где я его, дайте мне знать. –

+0

Какую версию .Net/EF вы используете? – CodingGorilla

ответ

0

Я нашел это решение, но если у кого есть идея получше, дайте мне знать

public partial class SigecRendicionesEntities 
{ 
    partial void OnContextCreated() 
    { 
     // Register the handler for the SavingChanges event. 
     this.SavingChanges 
      += new EventHandler(context_SavingChanges); 
    } 

    // SavingChanges event handler. 
    private static void context_SavingChanges(object sender, EventArgs e) 
    { 
     // Validate the state of each entity in the context 
     // before SaveChanges can succeed. 
     foreach (ObjectStateEntry entry in 
      ((ObjectContext)sender).ObjectStateManager.GetObjectStateEntries(
      EntityState.Added | EntityState.Modified)) 
     { 
      // Find an object state entry for a SalesOrderHeader object. 
      if (entry.Entity.GetType() == typeof(Usuario)) 
      { 
       Usuario usr = entry.Entity as Usuario; 



       string hashProvider = "MD5CryptoServiceProvider"; 
       usr.Clave = Cryptographer.CreateHash(hashProvider, usr.Clave); 
      } 
     } 
    } 
} 
2

Об альтернативной идее должен был бы создать пользовательский FieldTemplate (используйте UIHint переопределить шаблон поля поля) для шифрования этого поле.

+0

Я подаю в суд на ваш пароль Поле TEmplate, любая идея Как я изменил это для этого? –

 Смежные вопросы

  • Нет связанных вопросов^_^