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退出的更多相关文章

  1. 学用MVC4做网站六后台管理:6.1.3管理员修改密码

    6.1.3修改密码 需要两个action.一个是点击修改密码的链接要显示修改密码的分部视图(对话框形式):另一个是提交的处理action. 1.打开[AdministratorController]添 ...

  2. 学用MVC4做网站六:后台管理(续)

    关于后台的说明: 后台将会用easyui + ajax模式. 这里涉及两个问题,一个是使用easyui如何在前台验证模型的问题,另一个是ajax提交后返回数据. 一.Easyui验证 前台验证采用ea ...

  3. 学用MVC4做网站六后台管理:6.1管理员(续)

    接6.1 首先在~/Areas/Admin/Models文件夹添加管理员模型Administrator.cs using System.ComponentModel.DataAnnotations; ...

  4. MVC4做网站六后台管理:6.1.4管理员列表、添加及删除

    一.管理员列表 1.首先[AdministratorController]中添加返回分部视图的public PartialViewResult Index() /// <summary> ...

  5. MVC4做网站六后台管理:6.2网站信息设置

    用来实现网站标题.名称.关键字.描述.版权等信息的设置. 模型字段: 网站的设置信息前后台都要用到,所以要把模型方式Ninesky/Models文件夹中,代码如下: ///////////////// ...

  6. discuz管理员登录进入后台管理马上跳转到登录界面

    昨天尝试了一下这个discuz论坛,感觉还可以.今天刚刚用管理员账户进入后台管理,准备改一改界面熟悉一下,过不了10秒钟.老是马上就退出来了.我想起来了,昨天是在阿里云服务器上面直接登录这个管理员账号 ...

  7. 慕学在线网0.4_xadmin后台管理

    admin是基于Django开发的后台管理框架,方便,快捷,而且简单: 而xadmin就相当于admin的升级版,更加强大. 1.安装xadmin(源码安装方式) 教程 PS: - 卸载pip安装的x ...

  8. Asp.NetMVC利用LigerUI搭建一个简单的后台管理详解(函登录验证)

    上一篇 Asp.Net 中Grid详解两种方法使用LigerUI加载数据库数据填充数据分页  了解了LigerUI 中Grid的基本用法  现在结合上一篇的内容做一个简单的后台管理,当然也有前台的页面 ...

  9. django的admin后台管理

    Admin后台管理 要进入admin后台管理首先要创建管理员账户 createsuperuser 其中密码要大于8位 使用之前要到应用下的admin.py中注册要管理的模型表 from django. ...

随机推荐

  1. bzoj1968真·想sha法bi题

    本来想打表找规律的来着,,, 线性筛吗?一边筛一边累加答案?那不就不线性了吗...1e6悬啊 而且不是质因数个数而是因数个数,统计起来应该还要用数学方法 ...好尴尬 等一下,不要求质数的话我筛个p ...

  2. windows下面安装Python和pip终极教程

    在大二的时候接触过一段时间的Python,最近又开始玩起了这门语言.总的来说,个 人很喜欢Python的语言风格,但是这门语言对于windows并不算很友好,因为如果是初学者在windows环境下安装 ...

  3. eclipse常见问题

    使用eclipse进入断点,当弹出"Confir Perspective Switch"视图时,选择"Yes".之后每次进入断点都会自动切换到debug视图. ...

  4. 非交织YUV格式转换

    本文为自己写的从非交织yuv420转换出yuv444,yuv422h,yuv422v和手动裁剪422h,422v图片的代码 #include <fcntl.h> #include < ...

  5. VPB和OSGGIS安装

    VPB和OSGGIS安装 转自:http://blog.sina.com.cn/s/blog_668aae780101k6pr.html 第一部分VPB安装 VirtualPlanetBuilder是 ...

  6. SQLServer触发器创建、删除、修改、查看

    一: 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约束. 二: SQL Server为每个触发器 ...

  7. ubuntu vps 安装 jdk

    Introduction Java is a programming technology originally developed by Sun Microsystems and later acq ...

  8. WIM镜像添加多语言支持

    起初的想法: intel 600p虽然速度一般,但pcie还是值得一试的.购买后发现原来的win7版本无法识别就找了KB2990941和KB3087873两个补丁,成功识别出了硬盘.期间通过dezor ...

  9. C#模拟http 发送post或get请求

    /// <summary> /// 模拟HTTP提交表单并获取返回数据 /// POST /// </summary> /// <param name="Url ...

  10. java的英文词频算法

    java实现的英文词频算法,通常是采用单词树来实现的.使用java实现词频统计,为了统计词汇出现频率,最简单的做法是再建立一个map,其中,key是单词,value代表次数.将文章从头读到尾,读到一个 ...