|
Membership + авторизация в WCF сервисе
|
|||
---|---|---|---|
#18+
MS VS .NET 2008, MS SQL Server 2005. Есть WCF сервис, доступ к методам которого необходимо давать только авторизированным пользователям. Для аутентификации пользователей используется стандартная Membership аутентификация. Проблема в том, что пароли пользователей хранятся в БД в хешированном виде, а для корректной работы авторизации WCF необходимо задавать свойства ClientCredentials.UserName.UserName и ClientCredentials.UserName.Password. Изменять способ хранения паролей не хотелось бы... Как можно это обойти? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2011, 17:13 |
|
Membership + авторизация в WCF сервисе
|
|||
---|---|---|---|
#18+
а что мешает использовать статический метод Membership.ValidateUser ? ... |
|||
:
Нравится:
Не нравится:
|
|||
31.05.2011, 19:17 |
|
Membership + авторизация в WCF сервисе
|
|||
---|---|---|---|
#18+
stimpi, насколько я понимаю в метод Membership.ValidateUser все равно нужно передавать логин и незахешированный пароль. Такую проверку можно реализовать на этапе входа пользователя в систему, а мне нужно проверить права доступа пользователя к методам сервиса после его авторизации. Кроме того от установки ClientCredentials это не спасает, будет вылетать ошибка: "The username is not provided. Specify username in ClientCredentials." ... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2011, 11:37 |
|
Membership + авторизация в WCF сервисе
|
|||
---|---|---|---|
#18+
у вас есть UserId в стандартном мембершипе, вот по нему вытаскивайте вашу внутреннюю политику безопасности, ниже пример, что вы запихнете в CredentialValidator - ваше дело Код: 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.
... |
|||
:
Нравится:
Не нравится:
|
|||
01.06.2011, 15:59 |
|
|
start [/forum/topic.php?fid=19&msg=37287860&tid=1397438]: |
0ms |
get settings: |
8ms |
get forum list: |
13ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
138ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
40ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 232ms |
0 / 0 |