用 HttpStatusCodeResult .
你确定可以? 我返回一个 HttpStatusCodeResult ,code = 401的 他不会给我跳转?
显然401也是不行滴,不过还是谢谢你了。
@Rainr: Forms验证的重定向是没法更改的,你只能在 <forms loginUrl="~/Account/LogOn" timeout="2880" /> 中指定的重定向页面中返回 HttpStatusCodeResult (401),来让客户端知道访问此页面需要登录,你可以把 LogOn 修改为一个特定的 401 错误页面,比如:UnauthorizedUser.aspx.
表示没听明白你的意思
就是用Forms身份验证时候如果遇到 401或者403 它会给你转至错误代码页面或者转至登录页面吧。我想关闭这个跳转功能。或者能自己写跳转代码。
@Rainr:
这个跳转你肯定有地方设置了呀
你可以关闭Forms认证,自己写判断
@Rich.T:
private static void onAuthorizing(AuthorizationContext authorizationContext, AuthorizingFilterAttribute authorizingFilterAttribute)
{
if (authorizingFilterAttribute.IsAuthorize)
{
if (!authorizationContext.HttpContext.User.Identity.IsAuthenticated)
{
authorizationContext.HttpContext.Response.StatusCode = 401;
这是我的代码 。我是在MVC Filter中设置的状态吗 。那么我前台想接收到 stateCode=401这样的错误。科室 forms自动给我跳转了。
要是我就直接关闭forms验证