Axa*_*dax 7 asp.net asp.net-membership login
我在一台机器上设置了两个ASP.NET应用程序,它们的web.config文件在AspNetSqlMembershipProvider项目中包含相同的applicationName值,因此它们共享用户和角色.
问题顺序是:
反之亦然.
我应该使用不同的方法在两个应用程序之间共享登录信息吗?
Ari*_*tos 15
您遇到的问题是因为使用了相同的cookie,用于验证2个不同的登录名.
根据我的理解,解决方案是在不同的登录名上提供不同的cookie名称,因此一个cookie不会覆盖另一个cookie.
可能解决方案是在web.config上.
如果您具有相同的域并在不同的目录/应用程序上运行,则更改名称值,在2个应用程序上更改为不同的值,或者还更改用于保留cookie 的域值.
<authentication mode="Forms">
<forms name=".CookieSuffix" domain="yoururl.com" ... />
</authentication>
Run Code Online (Sandbox Code Playgroud)
例如,在您的应用上的2个不同的web.config上,放置
在app 2上的应用1:name =".app1"
:name =".app2"
或者在应用1上的应用1:domain ="app1.yoururl.com"
:domain ="app2.yoururl.com"
如果你分开你的应用,基于网址,甚至尝试一些类似的过程.
使用域名上的cookie名称保留cookie,因此这是您必须尝试分离它们的2个值.
有关表单设置的详细信息,请访问:http: //msdn.microsoft.com/en-us/library/aa480476.aspx
如果你有机会登录,那么解决方案就是这个功能
FormsAuthentication.GetAuthCookie(cUserName, false, "cookiePath");
FormsAuthentication.SetAuthCookie(cUserName, false, "cookiePath");
Run Code Online (Sandbox Code Playgroud)
您只需要使用不同的cookie路径,但是,您必须在程序上更改许多点,并捕获进程登录,注销和身份验证.
希望这对你有所帮助.
| 归档时间: |
|
| 查看次数: |
3658 次 |
| 最近记录: |