日期:2014-05-17  浏览次数:20469 次

MVC 3 一般怎么做前台会员登录验证?
前台需要验证会员登录的页面,在web form架构,常见做法是在页面的基页的onload, 或者 onpreload, oninit等方法中判断验证。

可是,MVC没有这些了,那么一般怎么实现。

我看新创建的MVC做法中,是用[authorize]特性,可是,这个内置的membership,可能一般小应用还凑和着用。
但实际应用,情况复杂的多,这个内置的membership怎么自定义?

还是说,其它做法?

谢谢解答。

------解决方案--------------------
我擦,这不是一样的事儿吗?换个地方做验证就不会啦?你这不就好比开一辆车,车灯开关在右边,换辆车车灯开关在左边,你就不会开了。

唉,不要急于问,先把自己手里那本有很牛名字的“XXX从入门到精通”啃熟了,很多问题也就不是问题了。
------解决方案--------------------
自己实践吧
------解决方案--------------------
点击按钮,通过Controllers去做验证,如果你不懂mvc,就先不要问,先去学习
------解决方案--------------------
复杂点的,自己写类继承FilterAttribute, IAuthorizationFilter...内部写验证、拦截逻辑,给相关Action设置该类属性,继承BaseController

简单点的,直接通过继承BaseController,BaseController标注自定义类属性AuthorizeFilter自写拦截类,如:
/// <summary>
    /// Action权限过滤
    /// </summary>
    [AttributeUsage(AttributeTargets.Class 
------解决方案--------------------
 AttributeTargets.Method, AllowMultiple = false)]
    public class AuthorizeFilterAttribute : ActionFilterAttribute
    {
        public override void OnActionExecuting(ActionExecutingContext filterContext)
        {            
            if (filterContext == null)
                throw new ArgumentNullException("filterContext");           


            if (!filterContext.HttpContext.User.Identity.IsAuthenticated)//判断是否已经登录
            {
                ...
                filterContext.Result = new RedirectResult("url");
                return;
            }
         
        }
     }
------解决方案--------------------
在Controllers里去验证 mvc有验证方法的
------解决方案--------------------
我直接在controller中验证,判断session
------解决方案--------------------
学好基础 在来 研究别的吧, 要不 说了你什么也不知道。 
------解决方案--------------------
MVC3有自己的AJAX框架,传递参数使用强类型,前台验证可以在 Model 这样写
 /// <summary>
        /// 手机号码
        /// </summary>
       [RegularExpression(@"^")]//数据验证的正则表达式
        [Required(ErrorMessage="输入数字")]//必填字段