mvc 登陆界面+后台代码

上代码
前端+js(懒得分文件了)
@{
ViewBag.Title = "MVC权限系统架构学习-登录";
Layout = "/Views/Shared/_LoadJsAndCss.cshtml";
}
<link rel="stylesheet" href="~/Content/styles/css/login.css">
<script type="text/javascript">
var contentPath = '@Url.Content("~")'.substr(0, '@Url.Content("~")'.length - 1);
var isIE = !!window.ActiveXObject;
var isIE6 = isIE && !window.XMLHttpRequest;
if (isIE6) {
window.location.href = contentPath + "/Error/ErrorMessage?message='浏览器不支持'";
}
//回车键
document.onkeydown = function (e) {
if (!e) e = window.event;
if ((e.keyCode || e.which) == 13) {
var btlogin = document.getElementById("btnlogin");
btnlogin.click();
}
}
//初始化
$(function () {
function loadTopWindow() {
if (window.top != null && window.top.document.URL != document.URL) {
window.top.location = document.URL; //这样就可以让登陆窗口显示在整个窗口了
}
}
$("#bodytop").load(loadTopWindow());
//提示信息
function formMessage(msg, type) {
$('.login_tips').parents('dt').remove();
var _class = "login_tips";
if (type == 1) {
_class = "login_tips-succeed";
}
$('.spanMess').prepend('<dt><div class="' + _class + '"><i style="color:red" class="fa fa-question-circle"></i>' + msg + '</div></dt>');
}
//点击切换验证码
$("#login_verifycode").click(function () {
$("#code").val('');
$("#login_verifycode").attr("src", contentPath + "/Login/VerifyCode?time=" + Math.random());
});
//登录按钮事件
$("#btnlogin").click(function () {
var $username = $("#name");
var $password = $("#password");
var $verifycode = $("#code");
if ($username.val() == "") {
$username.focus();
formMessage('请输入账号。');
return false;
} else if ($password.val() == "") {
$password.focus();
formMessage('请输入密码。');
return false;
} else if ($verifycode.val() == "") {
$verifycode.focus();
formMessage('请输入验证码。');
return false;
} else {
CheckLogin();
}
});
function CheckLogin() {
$(".formmargin").find('span').hide();
var name = $.trim($("#name").val());
var pass = $.trim($("#password").val());
var code = $.trim($("#code").val());
$.ajax({
type: 'POST',
url: '@Url.Action("LoginMvc", "Login")',
data: {
username: name,
password: pass,
VerificationCode: code
},
dataType: 'JSON',
success: function (data) {
if (data.type == 1) {
window.location.href = '@Url.Action("Index", "Home")';
} else {
formMessage(data.message);
$(".formmargin").find('span').show();
$("#login_verifycode").trigger("click");
}
}
});
}
})
</script>
<body id="bodytop">
<div class=" bg"></div>
<div class="container">
<div class="container-content">
<form class="form-panel" method="post">
<div class="logibbox">
<div class="form-head formmargin">
<h1>后台管理中心</h1>
</div>
<div class="form-content formmargin">
<div class="field">
<input type="text" minlength="2" class="input input-big" id="name" name="name" placeholder="登录账号" data-validate="required:请填写账号" />
</div>
<div class="field">
<input type="password" maxlength="16" class="input input-big" id="password" name="password" placeholder="登录密码" data-validate="required:请填写密码" />
</div>
<div class="field clearfix">
<input type="text" maxlength="4" class="inputs input-big" id="code" name="code" placeholder="填写右侧的验证码" data-validate="required:请填写右侧的验证码" />
<img id="login_verifycode" class="login_verifycode" src="~/Login/VerifyCode" alt="点击切换验证码"
title="点击切换验证码"/>
</div>
</div>
<div class="form-tail formmargin">
<input type="button" class="button input-big" id="btnlogin" value="登录">
<span class="spanMess"></span>
</div>
</div>
</form>
</div>
</div>
<div class="copyright">
MVC权限架构系统学习
<br>
版权:世人皆萌
</div>
</body>
css文件
*{
margin:;
padding:;
font: inherit;
color: #333;
vertical-align: baseline;
}
*:before,*:after{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
box-sizing:border-box;
}
.clearfix:after, .container:after{
content: " ";
display: block;
height:;
clear: both;
visibility: hidden;
overflow: hidden;
}
.bg{
width: 100%;
height: 100%;
position: absolute;
background: url(../images/bg.jpg);
}
.container-content{
margin: 150px auto;
width: 400px;
position: relative;
}
.form-panel{
border: 1px solid #ddd;
border-radius: 4px;
display: block;
}
.logibbox{
margin-top: -20px;
border:;
background: url(../images/tmbg-white.png);
/*background-color:#fafafa;*/
}
.logibbox .formmargin{
margin: 0 40px;
}
.form-panel .form-head{
margin: 20px;
padding-top: 20px;
display: block;
text-align: center;
/*font-weight: bold;*/
font-size: 24px;
}
.form-content{
display: block;
height: 230px;
}
.form-content .field{
height: 33.33%;
font-size: 14px;
font: inherit;
vertical-align: baseline;
}
.form-content .field .input{
display: inline-block;
width: 318px;/*294px 318px*/
line-height:;
}
.form-content .field .inputs{
display: inline-block;
width: 218px;/*196px 218px*/
line-height:;
}
.form-content .field .login_verifycode{
float: right;
margin-top: 1px;
display:inline-block;
text-align:center;
cursor:pointer;
width: 100px;
height: 36px;
padding-right:;
padding-left:;
/*border: 1px solid #d5d5d5;*/
font-size: 14px;
color: #727272;
background: white;
margin-left:-4px;
border-top-right-radius: 5px;
border-bottom-right-radius: 5px;
}
.form-content .input-big,
.form-tail .button{
padding:10px;
font-size:16px;
line-height: 24px;
border-radius:10px;
border:1px solid #d5d5d5;
box-sizing:border-box;
box-shadow:inset 0 1px 2px rgba(0,0,0,.1);
outline:none;
}
.form-content .input-big,
.form-tail .button:focus{
border:1px solid #afc2ec;
color:#4b4b4b
}
.form-content .input-big,
.form-tail .button[disabled]{
border:1px solid #d5d5d5;
background:#fbfbfb;
color:#9f9f9f;
/*cursor:not-allowed*/
}
.form-tail{
display: block;
height: 106px;
line-height: 106px;
}
.form-tail .button{
display: block;
width: 100%;
margin-top: 0px;
border: solid 1px #ddd;
border-color: #0ae;
border-radius: 4px;
color: #fff;
background-color: #0ae;
cursor: pointer;
}
.validation-summary-errors li{
height:43px;
line-height:43px;
width:auto;
color:red;
text-align:center;
display:block;
}
.copyright{text-align: center;color: #4b4b4b;position: absolute;top: 100%;margin-top: -60px;width: 97%;font-family: Microsoft Yahei;line-height:25px;}
.logibbox .formmargin .login_tips {
height: 44px;
line-height: 44px;
font-size: 14px;
text-align:center;
color:red;
box-shadow: none;
}
两张背景图


后台代码
/// <summary>
/// 登录
/// </summary>
[HttpPost]
public ActionResult LoginMvc(op_users login)
{
string Verification = WebHelper.GetSession("session_verifycode");
if (Session["session_verifycode"].IsEmpty() || Verification != MD5PassWordProvider.CutMD5(login.VerificationCode.ToLower(), ))
{
login.ErrorMessage = "您输入的验证码不正确。";
return Content(new AjaxResult { type = ResultType.info, message = "您输入的验证码不正确" }.ToJson());
//return View(login);
}
if (login.password.Length > )
{
login.ErrorMessage = "您输入的密码不正确。";
return Content(new AjaxResult { type = ResultType.info, message = "您输入的密码不正确" }.ToJson());
}
var user = _userbll.Login(login.username, login.password);
if (user == null)
{
login.ErrorMessage = "您输入的用户名不存在或密码不正确。";
return Content(new AjaxResult { type = ResultType.info, message = "您输入的用户名不存在或密码不正确" }.ToJson());
}
if (user.IsExpire)
{
login.ErrorMessage = "该用户已经禁用。";
return Content(new AjaxResult { type = ResultType.info, message = "该用户已经禁用" }.ToJson());
}
WebHelper.WriteSession("session_FullName", user.FullName);
WebHelper.WriteSession("session_UserId", user.id);
return Content(new AjaxResult { type = ResultType.success, message = "登陆成功" }.ToJson());
}
整个登陆就OK
mvc 登陆界面+后台代码的更多相关文章
- .net MVC 登陆模块后台代码
首先是拦截器 public class AuthLoginAttribute : ActionFilterAttribute { public bool IsLogin = true; /// < ...
- php截取后台登陆密码的代码
php截取后台登陆密码的代码,很多时候黑客留了这样的代码,大家一定要注意下if($_POST[loginsubmit]!=){ //判断是否点了登陆按钮 $sb=user:.$_POST[userna ...
- 基于AOP的MVC拦截异常让代码更优美
与asp.net 打交道很多年,如今天微软的优秀框架越来越多,其中微软在基于mvc的思想架构,也推出了自己的一套asp.net mvc 框架,如果你亲身体验过它,会情不自禁的说‘漂亮’.回过头来,‘漂 ...
- ASP.NET MVC搭建项目后台UI框架—11、自动加载下拉框查询
ASP.NET MVC搭建项目后台UI框架—1.后台主框架 需求:在查询记录的时候,输入第一个字,就自动把以这个字开头的相关记录查找出来,输入2个字就过滤以这两个子开头的记录,依次类推. 突然要用到这 ...
- ASP.NET MVC搭建项目后台UI框架—6、客户管理(添加、修改、查询、分页)
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- ASP.NET MVC搭建项目后台UI框架—7、统计报表
ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NET M ...
- ASP.NET MVC搭建项目后台UI框架—8、将View中选择的数据行中的部分数据传入到Controller中
目录 ASP.NET MVC搭建项目后台UI框架—1.后台主框架 ASP.NET MVC搭建项目后台UI框架—2.菜单特效 ASP.NET MVC搭建项目后台UI框架—3.面板折叠和展开 ASP.NE ...
- 登陆界面Login
最终界面: XMAL 代码: <Grid > <Grid.RowDefinitions> <RowDefinition /> <RowDefinition ...
- .Net程序员安卓学习之路1:登陆界面
任何编程学习起步均是HelloWorld,作为稍有>net编程经验的我们来说就跳过这步吧,咱们且从简单登录界面开始.先看看效果: 一.准备知识: 1. 安卓环境:安装好JDK,直接去官网下载AD ...
随机推荐
- P1944 最长括号匹配_NOI导刊2009提高(1)
P1944 最长括号匹配_NOI导刊2009提高 题解 宁愿相信世上有鬼,也不能随便相信某谷题目标签 我想了半天然后看了眼题解,发现用栈来模拟就好了 栈来模拟,还要用到一个bool数组,标记是否已经匹 ...
- ShapeDrawable
形状的Drawable咯,定义基本的几何图形,如(矩形,圆形,线条等),根元素是<shape../> 节点比较多,相关的节点如下: ① <shape>: ~ visible:设 ...
- kotlin 泛型中类型投射
fun main(arg: Array<String>) { var ints:Array<Int> = arrayOf(, , ) val any =Array<Any ...
- Markdown使用TOC自动生成导航栏
经常使用markdown 的玩家一定很想要一个自动生成的导航栏吧,自己写的基本思路就是 轮询监听滚动条的位置,通过抛锚和跳锚实现,这里介绍一下今天的主角,markdown-toc插件: https:/ ...
- LocalDB数据库修改排序规则,修复汉字变问号
VS中新增的轻量级数据库LocalDB,有个这个,开发人员就不必再安装庞大的SQL server了,可以方便地测试运行小型项目:既然是轻量级数据库,它抛弃了庞大的身躯,功能上当然也会受到局限,其中之一 ...
- Anaconda+tensorflow(不用创建虚拟环境)
网上大部分教程都是:创建tensorflow虚拟环境(conda create -n tensorflow python=3.6),然后在虚拟环境中pip install tensorflow,但是每 ...
- unity 读取灰度图生成三维地形并贴图卫星影像
从 https://earthexplorer.usgs.gov/ 下载高程数据 从谷歌地球上保存对应地区卫星图像 从灰度图创建地形模型,并将卫星影像作为贴图 using System.Collect ...
- 知识点整理-mysql怎么查看优化器优化后的sql
背景 1.新建两张表 CREATE TABLE t1 (m1 )); CREATE TABLE t2 (m2 )); 2.插入些数据 INSERT INTO t1 VALUES(, , , 'c'); ...
- Flutter 路由 页面间跳转和传参 返回
Navigator Navigator用来管理堆栈功能(即push和pop),在Flutter的情况下,当我们导航到另一个屏幕时,我们使用Navigator.push方法将新屏幕添加到堆栈的顶部.当然 ...
- 【FFMPEG】【ARM-Linux开发】arm上安装FFMPEG
交叉编译工具下载地址 : https://launchpad.net/linaro-toolchain-binaries/+download 其中我下载的是 : gcc-linaro-arm-linu ...