有没有办法在两个不同的项目上使用 ASP.NET Identity 机制? IE。我想对 MVC 项目和 WebAPI 项目使用单一身份验证机制。可能吗?
最佳答案
这没有什么困难的。如果使用样板 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”,以与上面类似的方式添加。)
关于asp.net-mvc - 适用于多个项目的单一 ASP.NET 身份,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29829071/