Вы все еще можете использовать аутентификацию членства: есть метод веб-службы Login(username, password)
, внутри этого метода проверьте пользователя:
[WebMethod]
public bool Login( string username, string password)
{
bool isValid = Membership.ValidateUser(username, password);
if (isValid)
{
FormsAuthentication.SetAuthCookie(username, true);
return true;
}
return false;
}
И это должно сделать это - он создаст cookie, который будет путешествовать с запросами ив каждом методе вы можете проверить HttpContext.Current.User.IsAuthenticated
.
void SomeWebMethodThatRequiresAuthentication(someparameter)
{
if (HttpContect.Current.User.IsAuthenticated)
{
... do whatever you need - user is logged in ...
}
else
{
.... optionally let user know he is not logged in ...
}
}
Я считаю, что он может работать с разными потребителями, которые поддерживают куки, потому что все, что ему нужно для работы, - это чтобы потребитель отправлял куки аутентификации вместе с запросом к вашемувеб-сервер.