我是ASP.NET MVC编程的新手。 我的网站中有以下代码,它将所有未签名用户重定向到位于文件夹\ content \的页面,具体取决于他们当前页面的结尾。 如果用户已被重定向到此页面,如何修改此代码以便不进行重定向?
using System.Globalization;
using System.Web;
using System.Web.Mvc;
namespace MYSITE.Web.Infrastructure
{
public class CategoryRedirectAttribute : ActionFilterAttribute
{
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
if (!HttpContext.Current.User.Identity.IsAuthenticated)
{
if (((ViewResult)filterContext.Result).ViewName.StartsWith("ProductList", true, CultureInfo.InvariantCulture))
{
var categoryProductPath = filterContext.RouteData.Values["categoryProductPath"].ToString().Split('/');
if (categoryProductPath.Length > 0)
{
HttpContext.Current.Response.Redirect("/Content/" + categoryProductPath[categoryProductPath.Length - 1]);
}
}
}
}
}
}
答案 0 :(得分:0)
你让自己的生活变得困难。您可以使用基于角色的FormsAuthentication来识别用户和控制器或操作方法上的[Authorize]属性,以控制谁可以执行哪些操作。
希望你会发现这很有用:http://msdn.microsoft.com/en-us/library/ff398049(v=vs.100).aspx