读书人

MVC 3 一般如何做前台会员登录验证

发布时间: 2013-01-25 15:55:29 作者: rapoo

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


[StringLength(11,ErrorMessage="超过11个字")]//允许的最大长度
[Range(0,9,ErrorMessage="输入值必须是0到9之间")]//数字字段符合的范围
[Required]
[Display(Name = "手机号码")]
public string UserName { get; set; }


后台验证就在控制器里写,像WebForm一样
[解决办法]
最好的方法就是实现IAuthorizationFilter,可以随意定制自己的验证逻辑
[解决办法]
自定义一个过滤器,把验证方法写在过滤器了,然后在控制器中添加[自定义过滤器方法名称]特性

读书人网 >asp.net

热点推荐