2014-09-24 3 views
0

Я посылаю следующий запрос POST согласно документации:ServiceStack UserName не должно быть пустым?

POST http://localhost:56049/auth/credentials?format=json HTTP/1.1 
User-Agent: Fiddler 
Host: localhost:56049 
Content-Length: 64 

{ 
    "UserName" : "admin", 
    "Password" : "test", 
    "RememberMe" : true 
} 

Однако, это дает мне неожиданный результат:

{"responseStatus":{"errorCode":"ValidationException","message":"Validation failed: 
\r\n -- 'User Name' should not be empty.\r\n -- 'Password' should not be empty.", 
"stackTrace":[...] 

Почему думает, что мое имя пользователя и пароль пустые?

Реф. https://github.com/ServiceStack/ServiceStack/wiki/Authentication-and-authorization

ответ

1

Content-Type на запрос должен быть в HTTP-заголовков, попробуйте:

POST http://localhost:56049/auth/credentials HTTP/1.1 
Host: localhost:560490 
User-Agent: Fiddler 
Content-Type: application/json 
Content-Length: 64 

{ 
    "UserName" : "admin", 
    "Password" : "test", 
    "RememberMe" : true 
} 
+1

Ты так хорошо! Спасибо, я забыл это немного. Виноват. – user1477388

+0

Кстати, трудно сказать из документа, но как я могу отправить обратно SessionId? Я попытался отправить его через заголовок в запросе GET, но он по-прежнему говорит, что 401 несанкционирован. – user1477388

+0

Кроме того, я заметил, что он не ударил мой метод TryAuthenticate при отладке, хотя я определил его как плагин в AppHost. Нужно ли создавать пользовательский атрибут по http://stackoverflow.com/questions/17634486/401-error-when-using-authenticate-with-basicauthprovider? – user1477388

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