我尝试使用ServiceStack.Razor
. 但是遇到了如何处理服务和页面中的身份验证的问题。
处理服务中的未经授权的访问非常容易,因为我们可以设置身份验证属性。我使用 credentialsAuthProvider 进行了配置身份验证,并使用查询字符串对成功进行了身份验证,/auth?username=&password
并成功访问了受保护的服务。
但是如何处理对服务的未经授权的访问。目前它返回 401 未经授权的访问。因此,当用户访问该页面时,它只显示空白页面.. 我尝试设置 customhttphandler 以进行未经授权的访问以重定向到登录页面但不成功
SetConfig(new EndpointHostConfig {
DebugMode = true,
CustomHttpHandlers = {
{ HttpStatusCode.NotFound, new RazorHandler("/notfound") },
{ HttpStatusCode.Unauthorized, new RazorHandler("/login") },
}
});
Servicestack.razor
允许创建像 Asp.Net WebPages 这样的 Razor 页面,但没有示例如何处理页面中的授权,如使用Request.IsAuthenticated
. 我试过了,但是 throw 方法不存在错误。
以及如何注销或销毁身份验证会话
更新:我正在使用ServiceStack.Razor
SelfHosting