在我的asp.net mvc4项目中,我使用ApiControllers为Web客户端和移动客户端提供服务。为了保护Web服务,我使用[Authorize]注释。 所以现在,网络客户端工作正常。但是,当我倾向于从移动应用程序(例如Android)调用某个Web API时,出现错误。 当我的代码片断回头一看:ASP.NET MVC4 Web API和会话变量
[Authorize]
public List<double> GetSomeInfo(int param1, string param2)
{
User user = SessionData.CurrentUser;
// do something using user.UserId
// ....
}
会话数据并持有,只有当他连接到Web应用程序的用户连接的属性。但对于移动客户端,会话数据为空。那么,有没有什么合适的方法来解决这个问题。 在我看来,我认为userId应作为任何Web API的参数提供,可能需要它来做一些处理。 你觉得呢?
你检出了[IdentityModel](https://github.com/thinktecture/Thinktecture.IdentityModel.45)吗? – 2013-04-09 08:13:25
你正在使用哪种认证?表单身份验证不适用于移动客户端,请考虑使用基本身份验证或数字身份验证 – 2013-04-09 08:13:37