asp.net-mvc - 适用于多个项目的单一 ASP.NET 身份

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

有没有办法在两个不同的项目上使用 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/

相关文章:

c# - 如何在 MVC5 中设置用户的 SecurityStamp?

c# - 如何将 Owin 上下文传递给被注入(inject) Api Controller 的 Repo

asp.net-web-api2 - Autofac 作业激活器与 Hangfire 抛出异常 DependencyResolutionException

javascript - 从 DropDown 中选择选项并在另一个文本字段中自动设置值 ASP .NET MVC

c# - 如何用 Spark 返回部分 View ?

c# - mvc5 全局认证检查

c# - 针对 web api 中间层的 mvc 身份验证

entity-framework - ASP.net 身份、IoC 和共享 DbContext

jquery - 使用 jquery 解析 JSON 并将其添加到文本框自动完成列表中

c# - 在 ASP.NET MVC 和 Azure AD 中创建自定义用户角色