我可能不理解某些事情,但我有以下问题:
AppHost.cs
Plugins.Add(new AuthFeature(
() => new AuthUserSession(),
new IAuthProvider[] { new BasicAuthProvider() }) { HtmlRedirect = null });
HomeController.cs
[Authenticate]
public class HomeController : ServiceStackController
问题
问题在于,当我尝试访问HomeController时,我被重定向到~/login?redirect=....
。
我认为通过将HtmlRedirect
设置为null,也会影响MVC控制器,但似乎没有。
这是预期的行为吗?或者我做错了什么?
我的最终目标是让浏览器提示带有质询/响应基本身份验证框。
答案 0 :(得分:3)
从this commit开始,您可以在身份验证失败时覆盖默认行为:
[Authenticate]
public class HomeController : ServiceStackController
{
public override ActionResult AuthenticationErrorResult
{
get
{
//return 401 Unauthorized for example
return new HttpStatusCodeResult(401);
}
}
}
ServiceStackController.AuthorizationErrorResult
可以用同样的方式修改。
将HtmlRedirect
设置为null
在这种情况下不起作用,因为与ASP.net一起使用时[Authenticate]
属性(以及所有其他ServiceStack属性)的行为略有不同MVC控制器而不是ServiceStack服务。
答案 1 :(得分:1)
我一直在ServiceStack
Jabbr聊天页面上,被告知这是一个错误,今天会有一个修复程序!