【问题标题】:Single ASP.NET Identity for multiple projects多个项目的单一 ASP.NET 标识
【发布时间】:2015-04-23 16:15:44
【问题描述】:

有没有办法在两个不同的项目上使用 ASP.NET Identity 机制? IE。我想为 MVC 项目和 WebAPI 项目使用单一身份验证机制。有可能吗?

【问题讨论】:

  • 当然是;将 Identity 部分提取到自己的项目中,并在两个项目中使用。

标签: asp.net-mvc asp.net-identity asp.net-web-api2


【解决方案1】:

这没有什么难的。如果使用样板 MVC 5 模板,请确保两者都引用 Owin 管道并使用相同的身份验证类型/提供程序(通常在 Startup.Auth.cs 中)。

如果部署到多个 Web 服务器,您需要确保您的 web.config 都共享相同的 machineKey 属性。

我喜欢的架构是每个用户角色都有一个 Web 项目。

例如

myproject.sln
Auth.csproj(未经授权)
Profile.csproj(项目默认具有“AuthorizeAttribute”。所有角色都可以访问。在FilterConfig.cs 中添加filters.Add(new AuthorizeAttribute());
CustomRole.csproj(项目具有从 AuthorizeAttribute 派生的自定义“MyCustomRoleAttribute”,以与上述类似的方式添加。)

【讨论】:

  • 您能否澄清一下:1. 引用 Owin 管道(我应该在哪里查看?) 2. 使用相同的身份验证类型/提供程序(在 Startup.Auth.cs 中是什么样的?)
猜你喜欢
  • 1970-01-01
  • 2014-08-11
  • 2017-01-03
  • 1970-01-01
  • 2011-12-16
  • 2015-03-27
  • 1970-01-01
  • 2018-04-03
  • 1970-01-01
相关资源
最近更新 更多