1

我的要求是,一旦用户登录并通过身份验证,URL 应更改为 SSL,当他注销时,URL 将返回 HTTP。

我知道 webpart 中的属性,我们可以在其中设置 YES/NO/INHERITS/NEVER。

我可以永久设置 HTTPS,但不能动态设置。

任何建议/帮助表示赞赏。

4

2 回答 2

3

我不知道 Kentico 中有任何功能可以执行此操作,但您应该能够创建一个 webpart 并将其放置在母版页上。此 Web 部件将只检查当前用户,如果有登录的用户重定向到 https 版本,反之亦然。

您还可以添加一些逻辑以确保它不会在 cmsdesk 的编辑选项卡中执行此操作。

您可以检查用户

CMSContext.CurrentUser

可以在以下位置找到有关重定向到安全页面的一些帮助

asp.net c#从http重定向到https

于 2013-04-12T04:41:47.220 回答
0

正如rocky所说,没有开箱即用的功能可以为您做到这一点。

您需要创建一个 Web 部件,就像 Lukek 建议的那样,检查用户是否已登录并将他们重定向到 https 地址。

下面的代码将重定向。

if (!Request.IsLocal && !Request.IsSecureConnection)
{
    string redirectUrl = Request.Url.ToString().Replace("http:", "https:");
    Response.Redirect(redirectUrl);
}

正如建议的那样,您需要检查 CMSContext.CurrentUser 但是我也会使用 HttpContext.User 属性。

这将强制请求为 https。

于 2013-04-12T15:36:03.397 回答