ASP.NET MVC学习笔记(二)登陆验证
书上的验证时在配置文件中直接声明用户名和密码,想改成从数据验证账号和密码,搞了一下午都没高出来,不断的调试,发现
var table = userInfo.Tables.FirstOrDefault(x => x.Name == user.Name);
这句代码有问题,一直时Null,各种百度无法解决,就把它转成userInfo.Tables.AsQueryable();了。完美解决了
控制器代码
public class AccountController : Controller
{
IAuthProvider authProvider;
ITaableInfo userInfo;
public AccountController(IAuthProvider autho,ITaableInfo info)
{
authProvider = autho;
//获得用户数据
userInfo = info;
//EFDbcontext context = new EFDbcontext();
//context.SaveChanges();
}
public ViewResult Login2()
{
return View();
}
//[HttpPost]
//public ActionResult Login(LoginViewModel model, string returnUrl)
//{
// if (ModelState.IsValid)
// { // if (authProvider.Authenticate(model.Name, model.PassWord))
// {
// return Redirect(returnUrl ?? Url.Action("Index", "Admin"));
// }
// else
// {
// ModelState.AddModelError("", "Incorrect userName,passWord");
// return View();
// } // }
// else
// {
// return View();
// }
//}
[HttpPost]
public ActionResult Login2(Admin user, string returnUrl)
{ //foreach (var B in userInfo.Tables)
//{
// string str = B.Name;
//}
string name = user.Name;
string pwd = user.PassWord;
//var table = userInfo.Tables.FirstOrDefault(x => x.Name == user.Name);
var table = userInfo.Tables.AsQueryable();
var info= table.FirstOrDefault(x => x.Name == user.Name);
if (info != null)
{
//string url= Url.Action("Index", "Admin").ToString();
FormsAuthentication.SetAuthCookie(info.Name, false);
//重新定向到Admin/Index页面
return Redirect(returnUrl??Url.Action("Index","Admin"));
}
else
{
return View();
}
}
}
html代码
@model SpotrsStore.Domain.Entities.Admin @{
ViewBag.Title = "Login2";
Layout = "~/Views/Shared/_AdminLayout.cshtml";
} <div class="panel">
<div class="panel-heading">
<h3>log in</h3>
</div>
<div class="panel-body">
<p class="lead">please log in access the administrator area</p>
@using (Html.BeginForm())
{
Html.ValidationSummary();
<div class="form-group">
<label>username</label>
@Html.TextBoxFor(x => x.Name, new { @class = "form-control" })
</div>
<div class="form-group">
<label>password</label>
@Html.PasswordFor(x => x.PassWord, new { @class = "form-control" }) </div>
<input type="submit" value="log in" class="btn btn-primary" /> }
</div>
</div>
配置文件代码
<authentication mode="Forms">
<forms loginUrl="~/Account/Login2"></forms>
</authentication>
重新的定向的的页面的控制器要加 [Authorize]//授权属性,加在类名上面或动作方法上面视情况所选择
ASP.NET MVC学习笔记(二)登陆验证的更多相关文章
- ASP.NET MVC 学习笔记-2.Razor语法 ASP.NET MVC 学习笔记-1.ASP.NET MVC 基础 反射的具体应用 策略模式的具体应用 责任链模式的具体应用 ServiceStack.Redis订阅发布服务的调用 C#读取XML文件的基类实现
ASP.NET MVC 学习笔记-2.Razor语法 1. 表达式 表达式必须跟在“@”符号之后, 2. 代码块 代码块必须位于“@{}”中,并且每行代码必须以“: ...
- ASP.NET MVC学习笔记-----Filter2
ASP.NET MVC学习笔记-----Filter(2) 接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用 ...
- ASP.NET MVC学习笔记-----Filter
ASP.NET MVC学习笔记-----Filter(1) Filter类型 接口 MVC的默认实现 Description Authorization IAuthorizationFilter Au ...
- [转]ASP.NET MVC学习系列(二)-WebAPI请求 传参
[转]ASP.NET MVC学习系列(二)-WebAPI请求 传参 本文转自:http://www.cnblogs.com/babycool/p/3922738.html ASP.NET MVC学习系 ...
- ASP.NET MVC学习笔记-----Filter(2)
接上篇ASP.NET MVC学习笔记-----Filter(1) Action Filter Action Filter可以基于任何目的使用,它需要实现IActionFilter接口: public ...
- ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET MVC 学习笔记-6.异步控制器 ASP.NET MVC 学习笔记-5.Controller与View的数据传递 ASP.NET MVC 学习笔记-4.ASP.NET MVC中Ajax的应用 ASP.NET MVC 学习笔记-3.面向对象设计原则
ASP.NET MVC 学习笔记-7.自定义配置信息 ASP.NET程序中的web.config文件中,在appSettings这个配置节中能够保存一些配置,比如, 1 <appSettin ...
- ASP.NET MVC学习系列(二)-WebAPI请求
继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现 ...
- ASP.NET MVC学习系列(二)-WebAPI请求(转)
转自:http://www.cnblogs.com/babycool/p/3922738.html 继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的g ...
- ASP.NET MVC学习系列(二)-WebAPI请求 转载https://www.cnblogs.com/babycool/p/3922738.html
继续接着上文 ASP.NET MVC学习系列(一)-WebAPI初探 来看看对于一般前台页面发起的get和post请求,我们在Web API中要如何来处理. 这里我使用Jquery 来发起异步请求实现 ...
- ASP.NET MVC学习笔记(二)笔记
接下来我们一起了解ASP.NET MVC的最重要的核心技术,了解ASP.NET MVC的开发框架,生命周期,技术细节. 一.Routing与ASP.NET MVC生命周期 1.Routing——网址路 ...
随机推荐
- MySQL 5.7 免安装版配置
MySQL5.7免安装版配置 Mysql是一个比较流行且很好用的一款数据库软件,如下记录了我学习总结的mysql免安装版的配置经验. 一. 软件下载 5.7 32位https://dev.mysq ...
- [Python] numpy.sum
import numpy as np #Syntax: numpy.sum(a, axis=None, dtype=None, out=None, keepdims=<class numpy._ ...
- 超文本传输协议http详解
HTTP是一个属于应用层的面向对象的协议,由于其简捷.快速的方式,适用于分布式超媒体信息系统.它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展.目前在WWW中使用的是HTTP/1.0的第 ...
- leetcode507
public class Solution { public bool CheckPerfectNumber(int num) { ) { return false; } ; ; i <= nu ...
- Mysql 索引概论
Mysql性能下降原因 JOIN连接过多 ,索引失效(单值,复合), 查询SQL过水, explian 语法分析SQL性能 https://blog.csdn.net/b1303110335/arti ...
- Eclipse去掉对jQuery的错误提示
1.I have found that I can leave the JavaScript Validator enable and ignore specific files by adding ...
- sudo免密码
很多都是修改/etc/sudoers权限为740再加上一句 ALL=NOPASSWD:ALL 或者加一句 yourname ALL=(ALL) NOPASSWD: ALL 然后权限改回440 先说第一 ...
- 登录PL/SQL无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误
在使用在登录PL/SQL(使用scott用户)无法登录,提示错误:ORA-01017: invalid username/password; logon denied 错误(程序中的用户和密码无法登录 ...
- Docker配置mysql互为主从
配置准备 两台机器 两台机器:A(193.168.10.101) B(193.168.10.102) 做好ssh免密登录 mysql大版本需要一致,小版本可忽略 并且两台机器已经安装好了docker ...
- C 文件操作库函数总结
目录: 1. fopen(打开文件)2. fprintf3. fscanf4. clearerr(清除文件流的错误旗标)5. fclose(关闭文件)6. fdopen(将文件描述词转为文件指针)7. ...