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

asp.net – 使用相同登录数据库的多个应用程序相互记录

发布时间:2020-12-16 04:14:33 所属栏目:asp.Net 来源:网络整理
导读:我在一台机器上设置了两个 ASP.NET应用程序,它们的web.config文件在AspNetSqlMembershipProvider项目中包含相同的applicationName值,因此它们共享用户和角色. 问题顺序是: 用户登录应用程序A, 在浏览器中打开新选项卡 登录到应用程序B, 他在申请表A中登录已
我在一台机器上设置了两个 ASP.NET应用程序,它们的web.config文件在AspNetSqlMembershipProvider项目中包含相同的applicationName值,因此它们共享用户和角色.

问题顺序是:

>用户登录应用程序A,
>在浏览器中打开新选项卡
>登录到应用程序B,
>他在申请表A中登录已退出

反之亦然.

我应该使用不同的方法在两个应用程序之间共享登录信息吗?

解决方法

您遇到的问题是因为使用了相同的cookie,用于验证2个不同的登录.

根据我的理解,解决方案是在不同的登录名上给出不同的cookie名称,因此一个cookie不会覆盖另一个cookie.

可能解决方案是在web.config上.

在配置

如果您具有相同的域并在不同的目录/应用程序上运行,则更改名称值,在2个应用程序上更改为不同的值,或者还更改用于保留cookie的域值.

<authentication mode="Forms">
 <forms name=".CookieSuffix" domain="yoururl.com" ... />
</authentication>

例如,在应用程序的2个不同的web.config上,放置
在应用1:name =“.app1”
在应用2:name =“.app2”

要么
在应用1:domain =“app1.yoururl.com”
在应用2:domain =“app2.yoururl.com”
如果你分开你的应用程序,基于网址,甚至尝试一些类似的过程.

使用域名上的cookie名称保留cookie,因此这是您必须尝试分离它们的2个值.

有关表单设置的详细信息,请访问:
http://msdn.microsoft.com/en-us/library/aa480476.aspx

手动登录

如果你有机会登录,那么解决方案就是这个功能

FormsAuthentication.GetAuthCookie(cUserName,false,"cookiePath");
FormsAuthentication.SetAuthCookie(cUserName,"cookiePath");

您只需要使用不同的cookie路径,但是,您必须更改程序中的许多点,并捕获进程登录,注销和身份验证.

希望这对你有所帮助.

(编辑:李大同)

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

    推荐文章
      热点阅读