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——网址路 ...
随机推荐
- python3.6编程第一课画个五角星
使用的是海龟图库 turtle import turtle turtle.forward(100) turtle.right(144) turtle.forward(100) turtle.righ ...
- Ubuntu无法sudo提权,报当前用户不在sudoers文件中错误
Ubuntu安装后默认root不能登陆系统,密码也是随机生成,其他用户使用root权限,可以使用sudo提权,前提是该用户在/etc/sudoers配置列表中. 但是有时用户名从/etc/sudoer ...
- DB2 数据类型转换
db2数据类型转换: 1.CAST() CAST (<expression> AS <data_ type>[ length ]) 2.CONVERT() CONVERT (& ...
- centos7 二进制安装MySQL5.7.22
1.详细描安装的过程 1.1关闭防火墙 systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service ...
- 【325】python**:selenium
参考:selenium安装方式 参考:Selenium2(Webdriver)+Python处理浏览器弹窗
- centos 安装hue 4.0
Hue是Cloudera开源的一个Hadoop UI,由Cloudera Desktop演化而来.面向用户提供方便的UI用于平时的Hadoop操作中.Apache Ambari面向的是管理员,用于安装 ...
- 服务级别协议(SLA)与运行水平协议(OLA)
服务级别协议(SLA)与运行水平协议(OLA): 服务级别管理和服务级别协议在国内已被广泛接受并成用.本文试图讨论服务级别协议(SLA)和运行水平协议(OLA)的异同. 1. SLA a.定义 服务级 ...
- gRPC初探——概念介绍以及如何构建一个简单的gRPC服务
目录 引言 1. gRPC简介 2. 使用Protocol Buffers进行服务定义 2.1 定义消息 2.2 定义服务接口 3.构建简单的gRPC服务 3.1 编写proto文件,定义消息和接口 ...
- Eclipse自动补全修改
一.前言 之前敲代码用的是文本工具sublime,转到Eclipse之后发现补全功能特别不方便,所以想根据自己的情况进行调整,具体有两点: 输入某些语句的前几个字母就能自动提示相关的完整语句 用tab ...
- 20-调用百度AI的文字识别
本来准备自己写识别的,貌似现在能力不足,直接偷懒用百度的api吧 from aip import AipOcr """ 你的 APPID AK SK "&quo ...