学用MVC4做网站六后台管理:6.1.1管理员登录、6.1.2退出
1、管理员登录
在6.1中已添加控制器【AdministratorController】
在控制器中添加[Login()]action,用来显示登录页面
/// <summary>
/// 登录
/// </summary>
public ActionResult Login()
{
return View();
}
右键添加视图Login.cshtml
@{
Layout = null;
}
<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width" />
<title>管理员登陆</title>
@Styles.Render("~/Css/Admin")
@Styles.Render("~/Css/Admin/Easyui")
@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/Scripts/Easyui")
@Scripts.Render("~/Areas/Admin/Scripts/Administrator.js")
</head>
<body>
<div id="wrapper">
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<div class="easyui-panel" title="请登录" style="width: 280px; height: 180px">
<dl>
<dd>
<div>
<label>用户名</label>
</div>
<div>
<input id="adminName" name="adminName" type="text" placeholder="请输入用户名" required maxlength="20" />
</div>
</dd>
<dd>
<div>
<label>密码</label>
</div>
<div>
<input id="passWord" name="passWord" type="password" placeholder="请输入密码" required maxlength="20" />
</div>
</dd>
<dd>
<div id="admin_login_msg" style="color:red;font-weight:bold"></div>
<div>
<button type="button" onclick="AdminLogin('@Url.Action("Index","Home")')">登录</button><button type="button" style="margin-left:40px" onclick="window.location.href='@Url.Action("Index", "Home", new { area = "" })'">
离开</button>
</div>
</dd>
</dl>
</div>
}
</div>
<script type="text/javascript">
var lbox = $("#wrapper");
var x = ($(window).width() - 280) / 2;
var y = ($(window).height() - 180) / 2;
lbox.css("padding-top", y).css("padding-left", x);
</script>
</body>
</html>
如图 ,在页面中居中显示一个easyui-panel用来输入用户名密码。

再在控制器中添加[Login(string adminName,string passWord)]action,用来处理管理员登录事件(返回类型JsonData)。
[HttpPost]
public JsonResult Login(string adminName,string passWord)
{
JsonData _jdata = new JsonData();
adminName = Server.HtmlEncode(adminName);
passWord = Ninesky.Common.Sha256(Server.HtmlEncode(passWord));
int _code = adminRsy.Authentication(adminName, passWord);
if (_code == 1)
{
AdministratorController.AdminName = adminName;
_jdata.Success = true;
_jdata.Msg = "登录成功!";
}
else if (_code == 0)
{
_jdata.Success = false;
_jdata.Msg = "密码错误!";
}
else if (_code == -1)
{
_jdata.Success = false;
_jdata.Msg = "管理员账号不存在!";
}
else
{
_jdata.Success = false;
_jdata.Msg = "发生未知错误,请刷新后重新登录!";
}
return Json(_jdata);
}
再在文件夹~/Areas/Admin/Scripts中添加Administrator.js文件(这个文件中写所有与管理员操作相关的js函数)。
先写一个点击登录的函数function AdminLogin(url),url是登录成功后跳转的页面。
//登录
function AdminLogin(url) {
$('form').form('submit', {
success: function (data) {
var rt = jQuery.parseJSON(data);
if (rt.Success) location.href = url;
else {
var msg = "";
if (rt.MsgLsit != undefined) {
$.each(rt.MsgLsit, function (i, val) {
msg += "<li>" + i + ":" + val + "</li>";
});
}
if (msg != "") msg = rt.Msg + "<br /> <p> 原因如下:" + "<ul>" + msg + "</ul></p>";
else msg = rt.Msg;
$.messager.alert("登录失败", msg, "error");
}
}
});
return false;
}
当点击登录按钮时调用AdminLogin('@Url.Action("Index","Home")' 登录成功则跳转到“~/areas/admin/Home”,登录失败则弹出对话框提示消息。

正确管理员账号admin,密码000000
2、管理员退出
添加[Logout()]action,设置AdminName为空,然后跳转的登录界面,很简单。
/// <summary>
/// 退出登录
/// </summary>
/// <returns></returns>
public ActionResult Logout()
{
AdministratorController.AdminName = string.Empty;
return RedirectToAction("Login","Administrator");
}
=========待续
代码见网盘或群
学用MVC4做网站六后台管理:6.1.1管理员登录、6.1.2退出的更多相关文章
- 学用MVC4做网站六后台管理:6.1.3管理员修改密码
6.1.3修改密码 需要两个action.一个是点击修改密码的链接要显示修改密码的分部视图(对话框形式):另一个是提交的处理action. 1.打开[AdministratorController]添 ...
- 学用MVC4做网站六:后台管理(续)
关于后台的说明: 后台将会用easyui + ajax模式. 这里涉及两个问题,一个是使用easyui如何在前台验证模型的问题,另一个是ajax提交后返回数据. 一.Easyui验证 前台验证采用ea ...
- 学用MVC4做网站六后台管理:6.1管理员(续)
接6.1 首先在~/Areas/Admin/Models文件夹添加管理员模型Administrator.cs using System.ComponentModel.DataAnnotations; ...
- MVC4做网站六后台管理:6.1.4管理员列表、添加及删除
一.管理员列表 1.首先[AdministratorController]中添加返回分部视图的public PartialViewResult Index() /// <summary> ...
- MVC4做网站六后台管理:6.2网站信息设置
用来实现网站标题.名称.关键字.描述.版权等信息的设置. 模型字段: 网站的设置信息前后台都要用到,所以要把模型方式Ninesky/Models文件夹中,代码如下: ///////////////// ...
- discuz管理员登录进入后台管理马上跳转到登录界面
昨天尝试了一下这个discuz论坛,感觉还可以.今天刚刚用管理员账户进入后台管理,准备改一改界面熟悉一下,过不了10秒钟.老是马上就退出来了.我想起来了,昨天是在阿里云服务器上面直接登录这个管理员账号 ...
- 慕学在线网0.4_xadmin后台管理
admin是基于Django开发的后台管理框架,方便,快捷,而且简单: 而xadmin就相当于admin的升级版,更加强大. 1.安装xadmin(源码安装方式) 教程 PS: - 卸载pip安装的x ...
- Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)
上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页 了解了LigerUI 中Grid的基本用法 现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...
- django的admin后台管理
Admin后台管理 要进入admin后台管理首先要创建管理员账户 createsuperuser 其中密码要大于8位 使用之前要到应用下的admin.py中注册要管理的模型表 from django. ...
随机推荐
- 【枚举】POJ 3279
直达–>POJ 3279 Fliptile 题意:poj的奶牛又开始作孽了,这回他一跺脚就会让上下左右的砖块翻转(1->0 || 0->1),问你最少踩哪些砖块才能让初始的砖块全部变 ...
- BZOJ2109: [Noi2010]Plane 航空管制
Description 世博期间,上海的航空客运量大大超过了平时,随之而来的航空管制也频频 发生.最近,小X就因为航空管制,连续两次在机场被延误超过了两小时.对此, 小X表示很不满意. 在这次来烟台的 ...
- MongoDB和Redis-NoSQL数据库-文档型-内存型
1NoSQL简述 CAP(Consistency,Availabiity,Partitiontolerance)理论告诉我们,一个分布式系统不可能满足一致性,可用性和分区容错性这三个需求,最多只能同时 ...
- Linux 系统查看物理内存使用率的命令脚本,以百分比形式输出。
想监视系统内存?好像是没法直接得到现成的百分比的,自己取值计算一下吧 totalmem=`free -m | grep 'Mem' | awk '{print $3}'` usedmem=`free ...
- dns解析慢 修改的参数
情况: ping域名时反应速度慢,ping ip却很正常 方法一:禁用ipv6 /etc/hosts中注释ipv6相关的 vim /etc/sysconfig/networks NETWORKING_ ...
- SQL Server 2012基本知识
1:图形化界面设置外键 解决:table->选中表->design->选中需要设置外键的字段->选择"关系"->选择"添加"-&g ...
- EL表达式判断
今天在做开发时遇到个小问题,就百度一番很快找到答案.这里记一下免得以后到处找... 在项目中显示项目名称时因为名字太长所以影响我的样式问题. 解决办法就是将固定长度之后的用"..." ...
- For循环打印正三角,倒三角,菱形
A:正三角形: 内循环的判断条件:y<=x for(int x=0; x<5; x++) { for(int y=0; y<=x; y++) { System.out.print(& ...
- C#_技巧:.net下C++调用C#的dll
C#编译一个dll,比如命名空间为Csharp,里面有个类A,字段x,产生一个Csharp.dll C++ 配置,让C++支持CLR C++调用方法: #include <iostream> ...
- R语言:常用函数【转】
数据结构 一.数据管理vector:向量 numeric:数值型向量 logical:逻辑型向量 character:字符型向量list:列表 data.frame:数据框 c:连接为向量或列表len ...