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——网址路 ...
随机推荐
- module.exports 、exports、export、export default的区别
module.exports和exports是属于 CommonJS 模块规范,export和export default是属于ES6语法. module.exports和exports导出模块,用r ...
- 「小程序JAVA实战」小程序数据缓存API(54)
转自:https://idig8.com/2018/09/22/xiaochengxujavashizhanxiaochengxushujuhuancunapi52/ 刚开始写小程序的时候,用户信息我 ...
- kubelet disk 压力
systemctl stop docker mv /var/lib/docker /data/lib ln -s /data/lib/docker /var/lib/docker systemctl ...
- python之private variables
[python之private variables] “Private” instance variables that cannot be accessed except from inside a ...
- springmvc web.xml配置之 -- ContextLoaderListener
首先回归一下web.xml的常用配置,看一个示例: <context-param> <param-name>contextConfigLocation</param-na ...
- DNS BIND之rndc介绍及使用
rndc(Remote Name Domain Controllerr)是一个远程管理bind的工具,通过这个工具可以在本地或者远程了解当前服务器的运行状况,也可以对服务器进行关闭.重载.刷新缓存.增 ...
- Mybatis框架的输出映射类型
Mapper.xml映射文件中定义了操作数据库的sql,每个sql是一个statement,映射文件是mybatis的核心. resultType(输出类型) 1.输出简单类型 (1)我们在UserM ...
- Overflow与块状格式上下文
- java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector解决方法
java.lang.NoClassDefFoundError: com/mchange/v2/ser/Indirector解决方法 错误描述:java.lang.NoClassDefFoundErro ...
- 让Asp.Net WebAPI支持OData查询,排序,过滤。(转)
出处:http://www.cnblogs.com/liuzhendong/p/4233380.html 让Asp.Net WebAPI支持OData后,就能支持在url中直接输入排序,过滤条件了. ...