所以,我正在尝试使用 MVC 4 构建我的第一个 Web api。一切顺利。我设法在我的网站上使用基本身份验证(使用 SSL),但我有一个问题,有点。
我在每个 ApiController 上都有一小段代码:
private Profile user
{
get
{
var UserId = Membership.GetUser(User.Identity.Name).ProviderUserKey.ToString();
var Profile = new Profile(UserId);
return Profile;
}
}
我这样做是因为我的自定义配置文件中有一些额外的字段;即公司ID。我的所有功能都需要这个 CompanyId 来获取数据。我正在考虑使用 CompanyId 作为令牌,但我无法让它工作:D
所以我的问题是:有没有办法为每个请求全局存储 CompanyId?也许在路由消息处理程序的过滤器中。我知道我不能使用会话等,因为 API 是无状态的,但另一方面我不想一直重复代码......