首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

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

2013-01-25 
MVC 3 一般怎么做前台会员登录验证?前台需要验证会员登录的页面,在web form架构,常见做法是在页面的基页的

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,可以随意定制自己的验证逻辑
[解决办法]
自定义一个过滤器,把验证方法写在过滤器了,然后在控制器中添加[自定义过滤器方法名称]特性

热点排行