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"/>

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 );
        }

前端代码

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 { getset; }
        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 

posted @ 2013-06-22 14:03  [秦时明月]  阅读(41229)  评论(35编辑  收藏  举报