ASP.NET身份验证 - 一个用于多个应用程序的登录系统

我们有一台服务器,可以说5-10个内部ASP.NET(MVC)应用程序在不同的应用程序池中运行,作为单独的网站(在不同的端口和/或子域)。我对内置的ASP.NET身份验证框架一无所知,所以我想知道是否有人可以在正确的方向上给我一个快速指针... 我希望通过一种登录机制保护所有内部应用程序(支持3-5种不同的角色;没有任何复杂)。此登录系统将是在服务器上运行的另一个应用程序/网站,并且为了获得对任何其他应用程序的访问权限,必须通过一个登录系统进行身份验证,并且目标应用程序必须能够看到用户的角色。内部应用程序将在代码级别进行修改以插入此新登录系统(换句话说,我们将修改当前应用程序以支持身份验证)。 这一点的重点在于我不希望每个应用程序都有自己的登录/身份验证机制,而是使用更“全局”的身份验证系统(同一服务器上的所有内容)。我不是在寻找任何复杂的东西(只有15-25名员工的公司,3-5个部门 - 每个用户必须根据他们的登录信息与部门(角色)相关联)并且每个应用程序都将进行调整以向用户显示相应的数据基于他的角色)。 问题是 - 如何使用户的身份验证状态在所有不同的应用程序中可见(在不同的程序集中并单独运行)? 我需要使用Forms身份验证吗?或者Spring.NET中的东西?     
已邀请:
单点登录在子域或二级域中相对容易实现。 ASP.NET Forms Authentication是一种基于票证的系统,其中票证以加密方式存储在cookie中。您必须实现的是使您的网络应用程序共享此cookie。 对于子域方案(例如mysite.com/app1,mysite.com/app2),只需将
encryption/decryption
键设置为
web.config
文件中的
machinekey
设置即可。 对于二级域方案(例如app1.mysite.com,app2.mysite.com),除了上述内容之外,还需要进行一些代码更改以强制所有身份验证cookie使用相同的顶级域名(例如mysite) .COM)。     
如果您的公司在Windows上运行并且内部有Active Directory设置(Active Directory域服务),则可以将所有ASP.NET站点设置为使用集成Windows身份验证。这非常容易设置,并且对于Intranet站点非常常见。访问内部站点的用户将使用其Windows身份自动进行身份验证,这意味着无需使用用户名和用户名。密码登录表单。在这里阅读所有相关内容:http://www.asp.net/mvc/tutorials/authenticating-users-with-windows-authentication-cs     

要回复问题请先登录注册