Базовая аутентификация WCF REST для определенных методов

У меня есть довольно много методов RESTful (GET и POST), реализованных в WCF 4.0. Все они работают через SSL.

Пример некоторых из методы:

[OperationContract]
[WebInvoke(UriTemplate = "Login?", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
LoginResponse Login(LoginRequest request);

[OperationContract]
[WebInvoke(UriTemplate = "UpdateDetails?", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
UpdateUserDetailResponse UpdateDetails(UpdateUserDetailRequest request);

[OperationContract]
[WebInvoke(UriTemplate = "GetDetails?", Method = "POST", ResponseFormat = WebMessageFormat.Json, RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Bare)]
UserDetailResponse GetDetails(UserDetailRequest request);

Я просмотрел так много блогов и форумов, но до сих пор не могу найти ничего, мои требования. Мне нужно реализовать базовую аутентификацию для некоторыхметодов, но не для всех.Если вы посмотрите на приведенные выше примеры, я требую, чтобы имя пользователя и пароль были отправлены для методов UpdateDetails и GetDetails, но не для метода Login. Затем имя пользователя и пароль аутентифицируются в базе данных. Можно ли сделать что-то подобное?

В качестве примечания: эти методы REST вызываются многими различными мобильными устройствами.

Я просмотрел следующие сайты, и все они реализуют базовую аутентификацию через REST , ноони охватывают все методы, упомянутые выше.

Можно ли делать то, что я хочу делать?

6
задан Community 23 May 2017 в 11:50
поделиться