Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Привет, всем! Есть сайт со встроенной авторизацией asp.net, в БД лежат таблички aspnetMembership и aspnetusers в которых хранятся пользователи. Пишу внешнюю утилиту (delphi) для административных нужд, дык вот хотелось бы узнать каким образом можно проверить пользователя который вводит логин+пароль на существование, на правильность ввода пароля и на входимость в некоторые роли. Хотелось бы сделать посредсвом sql сервера. Порылся в хранимых процедурах не нашел ничего нужного.. PS: сдается мне что валидация происходит посредство движка asp.net, как тогда авторизировать юзеров из вне? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 22:17 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Да там по-млему всё очевидно - посмотрите схему БД которую использует сиквельный членский провайдер. По-моему, даже в MSDN описано где-то - лень просто искать сейчас. Ну, а в качестве пацанского интерпрайзного метода можно ещё было бы, например, слепить ASP.NET веб-сервис, который дёргает готового провайдера, а к нему уже из дельфи и т.п. обращатьсо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.07.2008, 22:46 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Чорный БадаДа там по-млему всё очевидно - посмотрите схему БД которую использует сиквельный членский провайдер. Не совсем понял, где можно посмотреть эту схему БД? Чорный Бада По-моему, даже в MSDN описано где-то - лень просто искать сейчас. Ну, а в качестве пацанского интерпрайзного метода можно ещё было бы, например, слепить ASP.NET веб-сервис, который дёргает готового провайдера, а к нему уже из дельфи и т.п. обращатьсо. Хотелось бы напрямую без посредников валидировать юзера. Может гдето можно подсмотреть процедурку ValidateUser(string username, string password) ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 07:11 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Таблицы aspnet_*** не это разве надо?? Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 07:57 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
MembershipТаблицы aspnet_*** не это разве надо?? Код: plaintext 1. 2. 3. 4. 5. Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. Да, кажется это то что нужно, но как это заюзать в например на C#.Net, не говоря уже о дельфях.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 08:41 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
CrvikДа, кажется это то что нужно, но как это заюзать в например на C#.Net, не говоря уже о дельфях.. Если касательно C#, то использовать Membership.ValidateUser()? Для ролей тоже есть свои классы: Roles.UserInRole(), вроде... Как вариант, может свою хранимую написать, если с Delphi.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 09:05 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Membership CrvikДа, кажется это то что нужно, но как это заюзать в например на C#.Net, не говоря уже о дельфях.. Если касательно C#, то использовать Membership.ValidateUser()? Для ролей тоже есть свои классы: Roles.UserInRole(), вроде... Как вариант, может свою хранимую написать, если с Delphi.. Получается есть возможность использовать хранимую процедуру? Если так, то где можно подсмотреть такую процедуру, ведь в таблице asp_membership лежит хэш пароля и соль, как валидировать логин+пароль, при помощи sql? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 10:49 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Видимо, процедура будет сравнивать уже полученный ею хеш с хешом в aspnet-таблице.. Такую-то процедуру легко написать.. Хеш можно получить с помощью того же, как это делает сам класс Membership.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 12:07 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
MembershipВидимо, процедура будет сравнивать уже полученный ею хеш с хешом в aspnet-таблице.. Такую-то процедуру легко написать.. Хеш можно получить с помощью того же, как это делает сам класс Membership.... Ок, спасибо, попробую поискать. Если есть готовый кусок кода, киньте пжалуйста, а то у меня с мсдном не особо дружу =( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 12:12 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Это исходник метода CreateUser(), которым создается новый пользователь, по крайней мере я так понял: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74. 75. 76. 77. 78. 79. 80. 81. 82. 83. 84. 85. 86. 87. 88. 89. 90. 91. 92. 93. 94. 95. 96. 97. 98. 99. 100. 101. 102. 103. 104. 105. 106. 107. 108. 109. 110. 111. 112. 113. 114. 115. 116. 117. 118. 119. 120. 121. 122. 123. 124. 125. 126. 127. 128. 129. 130. 131. 132. 133. 134. 135. 136. 137. 138. 139. 140. 141. 142. 143. 144. 145. Видимо нам нужно это: string objValue = base.EncodePassword(password, (int) this._PasswordFormat, salt); где objValue: command.Parameters.Add(this.CreateInputParam("@Password", SqlDbType.NVarChar, objValue)); То есть тот самый хешированный пароль, если я ничего не путаю. смотрим EncodePassword() в классе MembershipProvider: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. Получиться или нет, я не знаю... это так, мои размышления. У Вас ведь, получается, в Delphi будет хеш расчитываться? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 12:28 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Membership Получиться или нет, я не знаю... это так, мои размышления. У Вас ведь, получается, в Delphi будет хеш расчитываться? Да я хотел на дельфях утилитку написать, но чую на С# удобней будет, сейчас попробую то что вы дали, может получиться.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 12:35 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
CrvikДа я хотел на дельфях утилитку написать, но чую на С# удобней будет, сейчас попробую то что вы дали, может получиться.. Если есть возможность на C#, то, думаю, на нем лучше будет.. Если ведь на делфи, то Вам нужно просто знать алгоритм, которым шифрует C#.. Скорее всего это SHA1. Тогда заюзайте его в делфи.. Из MSDN: Код: plaintext 1. Поэтому, наверно, SHA1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 12:41 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Membership Спасибо за помощь! Пошел по простому пути, пишу на C# и заюзал Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.07.2008, 15:12 |
|
||
|
Как происходит авторизация пользователя
|
|||
|---|---|---|---|
|
#18+
Подниму тему. Стоит задача - такая же как у автора темы, 1 в 1. У нас в базе есть пользователи с разными типами паролей - у некоторых стоит PasswordFormat = 1, а у некоторых = 2. С первым типом мы уже разобрались, научились получать хэш по паролю и соли. Там используется хэширование по алгоритму SHA1 и потом кодирование его через BASE64. Все работает. Подскажите пожалуйста, что делать с PasswordFormat = 2? Какие преобразования используются в этом случае? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 27.07.2015, 16:47 |
|
||
|
|

start [/forum/topic.php?fid=18&fpage=48&tid=1356335]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
22ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
43ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 349ms |

| 0 / 0 |
