2012-01-24 3 views
0

Хорошо. поэтому у меня есть этот контроллер, который извлекает пароль пользователя.Итерация через список из контроллера для просмотра

Function ViewUsers(ByVal users As Users) As ViewResult 

     Dim pwordList = New List(Of String)() 
     Dim passdecList = New List(Of String)() 
     Dim pwordQuery = From pword In db.UsersDB 
         Select pword.Password 


     For Each pass As String In pwordList 

      passString = PassEncrypt.Decrypt(pass) 

      passdecList.Add(passString) 
      //send each decrypted password to a table Password column in the view 
     Next 

    End Function 

Я не знаю, как бы я это сделал.

+3

Не храните пароли в обратимом виде, и ** никогда ** (_never ! _) показать их администраторам. – SLaks

ответ

0

Вы не должны хранить пароли в текстовом виде в своей базе данных. Они всегда должны быть зашифрованы. Но для этого примера можно сделать следующее:

Function ViewUsers(ByVal users As Users) As ViewResult 
    Dim pwordList = db.UsersDB.Select(Function(u)u.Password).ToList() 
    return View(pwordList) 
End Function 

и внутри сильно типизированной:

@ModelType List(Of string) 
<table> 
    <thead> 
     <tr> 
      <th>Password</th> 
     </tr> 
    </thead> 
    <tbody> 
     @For Each password In Model 
      @<tr><td>@item</td></tr> 
     Next password 
    </tbody> 
</table> 
+0

Он шифрует их (см. 'PassEncrypt.Decrypt'). Они всегда должны быть хешированы **. – SLaks

+0

Да, я создал функцию для шифрования и расшифровки паролей. Таким образом, зашифрованные пароли находятся в моем db. как вы можете видеть в моем контроллере, я использовал linq для выбора паролей из db и зашифровал каждый из них и добавил их в список. На мой взгляд, я создал для каждого цикла итерацию через базу данных, но для каждого цикла для каждого из них для каждого из них будет избыточность строк. – yawanur03

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