В моем проекте asp.net mvc4 я использую ApiControllers для обслуживания как веб-клиентов, так и мобильных клиентов. Чтобы защитить веб-службы, я использую аннотацию [Авторизовать]. Итак, теперь веб-клиент работает нормально. Однако, когда я склонен ссылаться на некоторые веб-API из мобильного приложения (например, Android), у меня возникла ошибка. , когда я посмотрел на фрагмент кода:ASP.NET MVC4 Web API и переменные сеанса
[Authorize]
public List<double> GetSomeInfo(int param1, string param2)
{
User user = SessionData.CurrentUser;
// do something using user.UserId
// ....
}
Data Session делает держать подключен пользовательские свойства только тогда, когда он подключен к Web App. Но в случае мобильных клиентов данные сеанса равны нулю. Итак, есть ли подходящий метод для решения этой проблемы. На мой взгляд, я считаю, что userId должен предоставляться в качестве параметра для любого веб-API, который может понадобиться для достижения определенного лечения. Как вы думаете?
Вы проверили [IdentityModel] (https://github.com/thinktecture/Thinktecture.IdentityModel.45)? –
, какую аутентификацию вы используете? Аутентификация формы не будет работать для мобильного клиента, попробуйте использовать базовую аутентификацию или цифровую аутентификацию. –