WebApi MVC 6,有没有办法重用MVC授权?

时间:2016-04-29 08:57:03

标签: c# asp.net-web-api asp.net-core-mvc

我有一个用ASP NET MVC编写的网站。它使用ASP.NET Identity来授权用户执行特定的Controller操作。它使用不同的用户声明(如角色)。 现在我需要编写一个移动应用程序,假设我的网站做的相同,所以为了避免重复代码我决定将所有数据访问层移动到分离的Web Api(MVC 6)项目,这样我就可以重用逻辑应用。问题是 - 有没有办法以某种方式“重用”我在MVC项目中的授权,比如生成并将一些令牌传递给Web Api或其他东西?从头开始重写它需要花费太多时间,我没有太多时间。任何答案/提示/文章将不胜感激。

1 个答案:

答案 0 :(得分:2)

是的,但API通常不使用Cookie,因此您可以配置API可以使用的Bearer Token authentication。 OWIN中间件将在验证令牌并填充用户主体时采用与在MVC中处理cookie相同的方式。

之后,您将能够以与MVC控制器相同的方式处理授权。