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="输入数字")]//必填字段