表单身份验证中的跨应用程序重定向

发布于 2024-10-24 17:44:04 字数 1144 浏览 6 评论 0原文

我设计了 2 个 Web 应用程序,并使用表单身份验证在

Web A 上进行单点登录:包含一个 Login.aspx 页面

包含一个 OK.aspx 页面

Web B:访问 Ok.aspx ,它将重定向到 Web A 中的 Login.aspx (效果很好)

但问题是当我成功登录时,我无法重定向到Web B 中的 Ok.aspx

FormsAuthentication.RedirectFromLoginPage(username,false);

它尝试重定向到 Web A 中的 Ok.aspx 而不是 Web B

我的 部分:

Web A :

<authentication mode="Forms">
    <forms name="appNameAuth" 
           path="/" 
           loginUrl="login.aspx" 
           protection="All" 
           timeout="30" 
           enableCrossAppRedirects="true">
    </forms>
</authentication>

Web B:

<authentication mode="Forms">
    <forms name="appNameAuth" 
           path="/" 
           loginUrl="webAdomain/login.aspx" 
           protection="All" 
           timeout="30" 
           enableCrossAppRedirects="true" >
    </forms>
</authentication>

有什么建议吗?

I have design 2 web apps and use Forms Authetication for single sign on

Web A: contains a Login.aspx page

Web B: contains an OK.aspx page

when access Ok.aspx in Web B, it will redirect to Login.aspx in web A (it work well)

But the problem is when I log on successfully, I can't redirect to Ok.aspx in web B

FormsAuthentication.RedirectFromLoginPage(username,false);

It try to redirect to Ok.aspx in web A not web B

my <authentication> sections:

Web A:

<authentication mode="Forms">
    <forms name="appNameAuth" 
           path="/" 
           loginUrl="login.aspx" 
           protection="All" 
           timeout="30" 
           enableCrossAppRedirects="true">
    </forms>
</authentication>

Web B:

<authentication mode="Forms">
    <forms name="appNameAuth" 
           path="/" 
           loginUrl="webAdomain/login.aspx" 
           protection="All" 
           timeout="30" 
           enableCrossAppRedirects="true" >
    </forms>
</authentication>

Any suggestion?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

面犯桃花 2024-10-31 17:44:04

您可以通过在每个应用程序的 web.config 文件中设置 machineKey 值以使它们匹配来实现此目的。

我所说的“匹配”是指从每个 web.config 中删除 IsolateApps 设置(因为这将完全按照它的说明进行操作,但这对您想要做的事情不利)。

接下来,您需要为解密密钥和验证密钥生成新值(与您选择的类型匹配的值...SHA1 等),并将它们复制到每个 web.configs 中

!一切都应该可以工作

以下是有关 machineKey 设置的 Microsoft 文章的链接,以供参考:http ://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

You can make this work by setting the machineKey values in each of your application's web.config files so that they match.

By 'match', I mean, remove the IsolateApps setting from each web.config (as this will do exactly what it says, and that's bad for what you're trying to do).

Next, you need to generate new values for the decryptionKey and validationKey (values that match the type you select...SHA1, etc), and copy them into each of your web.configs

voila! everything should work

Here's a link to a Microsoft article on the machineKey setting, for reference: http://msdn.microsoft.com/en-us/library/w8h3skw9.aspx

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文