0

我想在自托管 SS 应用程序中托管一个非常简单的剃须刀页面。

我需要 / 路径来解析为 default.cshtml - 这是开箱即用的。

但我需要访问视图内的用户身份验证会话。为此,我猜我需要一项服务来为 default.cshtml 创建模型

到目前为止我尝试过的一切都不起作用,我无法使用 route / 创建 DefaultRequest,因为这是不允许的。

有人知道我需要做什么吗?

我尝试过回退路线,但没有运气:

[FallbackRoute("/{Path*}")]
public class Fallback
{
    public string Path { get; set; }
}

public class DefaultService : Service
{
    public DefaultService ()
    {
    }

    public object Get(Fallback request){
        return new HttpResult() // #6
        {
            View = "Rockstars"  // #1
        };
    }
}
4

1 回答 1

0

您键入的 UserAuth 会话可通过 base.SessionAs 在 Razor Views 基础ViewPageBase中直接访问,例如:

@{
    var session = base.SessionAs<CustomUserSession>();
}

您还可以访问您的动态会话包,base.SessionBagbase.IsAuthenticated确定用户是否经过身份验证。

后备路线

为了调用 Service 来处理您的默认页面,您需要使用Fallback Route,例如:

[FallbackRoute("/{Path*}")]
public class DefaultPage
{
    public string Path { get; set; }
}

后备服务可用于处理每个不匹配的请求,包括根/页面。

于 2014-10-04T19:35:40.500 回答