gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 12:00:08 24 4
gpt4 key购买 nike

我们有一个服务器,可以说 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 machinekey 中的键相同设置在 web.config文件。

对于二级域场景(例如app1.mysite.com、app2.mysite.com),除了上面的,还需要做一些代码修改,强制所有认证cookies使用同一个顶级域(例如mysite .com)。

关于.net - ASP.NET 身份验证 - 多个应用程序的一个登录系统,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5188689/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com