ASP.NET MVC 5不带表单身份验证的单一登录模式

本文关键字:身份验证 单一 登录模式 表单 NET MVC ASP | 更新日期: 2023-09-27 17:59:23

我正试图在多个域上为我的web应用程序实现单一登录模式。我正要使用表单验证,但我遇到了这个:

https://softwareengineering.stackexchange.com/questions/284380/is-formsauthentication-obsolete

如果它已经过时,推荐的替代解决方案是什么?我有类似的域:

  • account.domain.com(用户将使用此登录)
  • app1.domain.com
  • app2.domain.com
  • app3.domain.com

另外,表单身份验证面临的主要问题是用户身份。我有一个自定义的用户对象,它有很多属性。每次从会话中存储和检索对象都很痛苦。我怎样才能克服这个困难?

ASP.NET MVC 5不带表单身份验证的单一登录模式

您可以将ASP.Net标识与声明一起使用您不需要使用ASP.Net模板附带的整个ASP.Net标识

[assembly: OwinStartup(typeof(YOUR_APP.Startup))]    
namespace YOUR_APP
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = "ApplicationCookie",
                LoginPath = new PathString("/Account/Login"),
                CookieDomain = ".domain.com",
            });
        }
    }
}

您可以在面向ASP.NET开发人员的OWIN cookie身份验证中间件入门中阅读更多关于如何附加声明的内容。

仅供参考:确保在所有web.config文件中设置相同的机器密钥,以便在站点之间共享cookie