Bootstrap+angularjs+MVC3+分页技术+角色权限验证系统
1.Bootstrap使用教程
相关教程: http://www.bootcss.com/components.html
页面使用代码:
<script src="@Url.Content("~/Content/Bootstrap/js/bootstrap.min.js")"></script>
<link href="@Url.Content("~/Content/Bootstrap/css/bootstrap.min.css")" rel="stylesheet" media="screen"/>
<link href="@Url.Content("~/Content/Bootstrap/css/bootstrap.min.css")" rel="stylesheet" media="screen"/>
2.angularjs
<script src="@Url.Content("~/Scripts/angular.min.js")"></script>
<script type="text/javascript">
var app = angular.module("ControlState", []);app.controller("Home/Login", function ($scope,$window) {
$scope.login = function(user) {
var url="@Url.Action("Login","Home")";
$.post(url,user,function(ret){
if(ret=="False"){
art.dialog.tips('用户名或密码错误,请重新输入!', 1.5);
$('form')[0].reset();
$('form input')[0].focus();
}else{
if(user.UserName=="admin")
location="Index";
else
location="Contact";
}
});
};
});
3.分页
public ActionResult MessageBox(int?id){
int pageID=1;
if (id.HasValue) {
pageID=id.Value;
}
var list=DBFactory.GetEntities<Message>(MessageTable.MessageToUserID.Equal(SystemGlobalData.CURRENT_USERID).And(MessageTable.Deleted.Equal(0)));
var count=DBFactory.GetInt32Count(MessageTable.MessageToUserID.Equal(SystemGlobalData.CURRENT_USERID).And(MessageTable.Deleted.Equal(0)));
PagedList<Message> pList=new PagedList<Message>(list,pageID,5);
return View(pList );
}
int pageID=1;
if (id.HasValue) {
pageID=id.Value;
}
var list=DBFactory.GetEntities<Message>(MessageTable.MessageToUserID.Equal(SystemGlobalData.CURRENT_USERID).And(MessageTable.Deleted.Equal(0)));
var count=DBFactory.GetInt32Count(MessageTable.MessageToUserID.Equal(SystemGlobalData.CURRENT_USERID).And(MessageTable.Deleted.Equal(0)));
PagedList<Message> pList=new PagedList<Message>(list,pageID,5);
return View(pList );
}
前端代码
View Code
4.权限角色验证
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Xml.Linq;
using Moon.Orm;
using mynorthdb;
namespace Razor.Moon
{
/// <summary>
/// Description of CheckLoginAttribute.
/// </summary>
public class CustemerAuthenAttribute:AuthorizeAttribute
{
public new string[] ActionRoles { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext == null) {
throw new ArgumentNullException("HttpContext");
}
if (!httpContext.User.Identity.IsAuthenticated) {
return false;
}
if (ActionRoles == null) {
return true;
}
if (ActionRoles.Length == 0)
{
return true;
}
if (ActionRoles.Contains(httpContext.User.Identity.Name))
{
return true;
}
return false;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
var Request=filterContext.HttpContext.Request;
string url=Request.Url.Scheme+"://"+Request.Url.Authority+"/Home/Login";
filterContext.Result = new RedirectResult(url);
}
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
{
string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
string actionName = filterContext.ActionDescriptor.ActionName;
string roles = ActionRoleManager.GetActionRoles(actionName, controllerName);
if (!string.IsNullOrWhiteSpace(roles)) {
this.ActionRoles = roles.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
}
base.OnAuthorization(filterContext);
}
}
}
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Xml.Linq;
using Moon.Orm;
using mynorthdb;
namespace Razor.Moon
{
/// <summary>
/// Description of CheckLoginAttribute.
/// </summary>
public class CustemerAuthenAttribute:AuthorizeAttribute
{
public new string[] ActionRoles { get; set; }
protected override bool AuthorizeCore(HttpContextBase httpContext)
{
if (httpContext == null) {
throw new ArgumentNullException("HttpContext");
}
if (!httpContext.User.Identity.IsAuthenticated) {
return false;
}
if (ActionRoles == null) {
return true;
}
if (ActionRoles.Length == 0)
{
return true;
}
if (ActionRoles.Contains(httpContext.User.Identity.Name))
{
return true;
}
return false;
}
protected override void HandleUnauthorizedRequest(AuthorizationContext filterContext)
{
var Request=filterContext.HttpContext.Request;
string url=Request.Url.Scheme+"://"+Request.Url.Authority+"/Home/Login";
filterContext.Result = new RedirectResult(url);
}
public override void OnAuthorization(System.Web.Mvc.AuthorizationContext filterContext)
{
string controllerName = filterContext.ActionDescriptor.ControllerDescriptor.ControllerName;
string actionName = filterContext.ActionDescriptor.ActionName;
string roles = ActionRoleManager.GetActionRoles(actionName, controllerName);
if (!string.IsNullOrWhiteSpace(roles)) {
this.ActionRoles = roles.Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
}
base.OnAuthorization(filterContext);
}
}
}
5.效果图
6.项目下载
https://files.cnblogs.com/humble/%E9%A1%B9%E7%9B%AE%E5%8F%8A%E6%95%B0%E6%8D%AE%E5%BA%93.7z
少侠,我看你气度不凡天赋异禀,骨骼精奇,这么帅,来了就帮推荐一把吧
我的最近更新