У меня есть таблица пользователей, которую я хочу использовать с динамическими данными. Проблема в том, что у меня есть поле «Пароль», которое мне нужно шифровать с помощью MD5. Я использую Entity Framework, как я это делаю?Поле пароля с динамическими данными Asp.Net
0
A
ответ
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, любая идея Как я изменил это для этого? –
Я не понимаю проблему, почему вы не можете просто зашифровать пароль и сохранить его в поле на сущности? Например: var pwd = EncryptPassword (пароль); entity.Password = pwd; – CodingGorilla
Я использую динамические данные, у меня нет кода, который вызывает Save. Но если вы знаете, где я его, дайте мне знать. –
Какую версию .Net/EF вы используете? – CodingGorilla