授权过滤器(登录)

//配置文件

<system.web>
     <authentication mode="Forms">
      <forms loginUrl="~/Account/LogOn" timeout="3000"></forms>
      </authentication>
</system.web>

//Home控制器(Index视图层),控制层默认

<body>
    <div> 
        <h1>首页</h1>
        @Html.ActionLink("登录", "LogOn", "Account")
        @Html.ActionLink("用户设置", "Index", "Account")
        @Html.ActionLink("退出", "LogOut", "Account")
    </div>
</body>

//Account控制器(Index视图层)

<div> 
        用户设置
        @Html.ActionLink("主页","Index","Home")
</div>

//Account控制层

  public class AccountController : Controller
    {
        // GET: Account
        [Authorize]
        public ActionResult Index()
        {
            return View();
        }
        public ActionResult LogOn()
        {
            return View();
        }
        [HttpPost]
        public ActionResult LogOn(UserInfo u)
        {
            if (ModelState.IsValid && ValidateUser(u.UserName,u.PassWord))
            {
                return RedirectToAction("Index");
            }

            ModelState.AddModelError("", "账号或者密码错误");

            return View();
        }
        //访问数据库验证用户登录信息并使用Forms验证
        private bool ValidateUser(string userName,string pwd)
        {
            using (MVCLession31Entities db = new MVCLession31Entities())
            {
                var u = (from p in db.UserInfo where p.UserName == userName && p.PassWord == pwd select p).FirstOrDefault();
                if (u == null)
                {
                    return false;
                }
                else
                {
                    //设置cookie
                    FormsAuthentication.SetAuthCookie(userName, false);
                    return true;
                }
            }
        }

        //退出
        public ActionResult LogOut()
        {
            //退出
            FormsAuthentication.SignOut();
            return RedirectToAction("Index", "Home");
        }

    }

//LogOn视图层

<body>
    @using (Html.BeginForm())
    {
    <table width="500" cellspacing="0" border="1" align="center">
        <tr>
            <td>用户名:</td>
            <td>@Html.TextBoxFor(u => u.UserName)</td>
            <td style="color:red">@Html.ValidationMessageFor(u=>u.UserName)</td>
        </tr>
        <tr>
            <td>密码:</td>
            <td>@Html.PasswordFor(u => u.PassWord)</td>
            <td style="color:red">@Html.ValidationMessageFor(u => u.PassWord)</td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="登录" />
            </td>
        </tr>
        <tr>
            <td colspan="2" style="color:red">
                @Html.ValidationSummary(true)
            </td>
        </tr>
    </table>   
    }
</body>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值