C# 自定义授权i asp.net web api
我有一个使用WebAPI和MVC的项目。身份验证由FormsAuthentication处理,它创建一个包含有关用户的一些数据的cookie 我扩展了System.Web.Mvc.authorized属性,并将其添加到每个Mvc控制器中。它所做的是扩展AuthorizeCore并检查cookie的内容,这是我自己对IPrinciple的扩展,用于检查用户当前是否具有有限的访问权限 我想对Web Api的调用进行类似的检查,因此我为System.Web.Http.authorized属性做了一个扩展,该扩展覆盖了IsAuthorized方法。C# 自定义授权i asp.net web api,c#,asp.net,asp.net-mvc,asp.net-mvc-4,asp.net-web-api,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 4,Asp.net Web Api,我有一个使用WebAPI和MVC的项目。身份验证由FormsAuthentication处理,它创建一个包含有关用户的一些数据的cookie 我扩展了System.Web.Mvc.authorized属性,并将其添加到每个Mvc控制器中。它所做的是扩展AuthorizeCore并检查cookie的内容,这是我自己对IPrinciple的扩展,用于检查用户当前是否具有有限的访问权限 我想对Web Api的调用进行类似的检查,因此我为System.Web.Http.authorized属性做了一个扩
在这种方法中,我想对控制器进行相同的检查,但我不知道如何从cookie中获取信息,或者这是否是正确的方法 通常不建议在web api中使用cookie身份验证。 原因是只有在浏览器中才能很好地处理cookie。web api的整个概念是允许其他客户端(本机客户端、java脚本…)也使用它 如果您确定您的服务器将只从浏览器访问,那么您可能应该将api操作移动到MVC项目(它也可以返回json/xml)。这样,您就不必处理此类问题
对于web api,我建议使用基于令牌的身份验证无需触摸身份验证cookie!顺其自然。