加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

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

发布时间:2020-12-16 04:05:44 所属栏目:asp.Net 来源:网络整理
导读:我们有一台服务器,可以说在单独的应用程序池中运行的5-10个内部ASP.NET(MVC)应用程序作为单独的网站(在不同的端口和/或子域上).我对内置的ASP.NET身份验证框架一无所知,所以我想知道是否有人可以在正确的方向上给我一个快速指针… 我希望通过一种登录机制保
我们有一台服务器,可以说在单独的应用程序池中运行的5-10个内部ASP.NET(MVC)应用程序作为单独的网站(在不同的端口和/或子域上).我对内置的ASP.NET身份验证框架一无所知,所以我想知道是否有人可以在正确的方向上给我一个快速指针…

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

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

问题是 – 我如何制作它以便在所有不同的应用程序中(在不同的程序集中并单独运行)可以看到用户的身份验证状态?

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

解决方法

单点登录在子域或二级域中相对容易实现. ASP.NET Forms身份验证是基于故障单的系统,其中故障单以加密方式存储在cookie中.您必须实现的是使您的网络应用程序共享此cookie.

对于子域方案(例如mysite.com/app1,mysite.com/app2),只需将加密/解密密钥设置为web.config文件中的machinekey设置即可.

对于二级域方案(例如app1.mysite.com,app2.mysite.com),除了上述内容之外,还需要进行一些代码更改以强制所有身份验证cookie使用相同的顶级域名(例如mysite) .COM).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读