首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET身份验证-一个登录系统可用于多个应用程序

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

Stack Overflow用户
提问于 2011-03-04 09:29:11
回答 2查看 3.7K关注 0票数 7

我们有一个服务器,假设有5-10个内部ASP.NET (MVC)应用程序运行在独立的应用程序池中,作为独立的网站(在不同的端口和/或子域上)。我对内置的ASP.NET身份验证框架一无所知,所以我想知道是否有人可以给我一个正确的方向的快速指针……

我想通过一个登录机制(支持3-5个不同的角色,不复杂)来保护所有的内部应用程序。此登录系统将是在服务器上运行的另一个应用程序/网站,要访问任何其他应用程序,必须通过一个登录系统进行身份验证,并且目标应用程序必须能够看到用户的角色。内部应用程序将在代码级别进行修改,以插入到这个新的登录系统中(换句话说,我们将修改当前应用程序以支持身份验证)。

我不希望每个应用都有自己的登录/身份验证机制,而是使用更“全局”的身份验证系统(所有东西都在同一台服务器上)。我不寻找任何复杂的东西(只是一个公司的15-25名员工,3-5个部门-每个用户必须关联到一个部门(角色)根据他们的登录-每个应用程序将调整,以显示用户基于他的角色适当的数据)。

问题是-我如何让用户的身份验证状态在所有不同的应用程序中都可见(在不同的程序集中,并分别运行)?

我是否需要使用Forms身份验证?或者Spring.NET中的一些东西?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-04 12:48:07

在子域或二级域中实现单点登录相对容易。ASP.NET窗体身份验证是一个基于票证的系统,其中票证以加密方式存储在cookie中。您必须实现的是使您的web应用程序能够共享此cookie。

对于子域场景(例如mysite.com/app1、mysite.com/app2),只需在web.config文件的machinekey设置中设置相同的encryption/decryption密钥即可。

对于第二级域场景(例如app1.mysite.com、app2.mysite.com),除了上述情况之外,您还需要进行一些代码更改,以强制所有身份验证cookies使用相同的顶级域(例如mysite.com)。

票数 6
EN

Stack Overflow用户

发布于 2011-03-04 15:33:44

如果您的公司在Windows上运行,并且您已在内部安装了Active Directory ( Active Directory域服务),则可以将所有ASP.NET站点设置为使用集成的Windows身份验证。这非常容易设置,并且在intranet站点中非常常见。访问您的内部站点的用户将自动使用他们的Windows身份进行身份验证,这意味着不需要用户名和密码登录表单。点击此处阅读所有相关信息:http://www.asp.net/mvc/tutorials/authenticating-users-with-windows-authentication-cs

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5188689

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档