check Issues #1

This commit is contained in:
yubaolee 2016-01-02 23:16:22 +08:00
parent 935f5e5cc1
commit 7cc293c121
3 changed files with 37 additions and 27 deletions

View File

@ -1,4 +1,4 @@
using OpenAuth.Domain.Interface; using OpenAuth.Domain.Interface;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq; using System.Linq;
@ -35,7 +35,7 @@ namespace OpenAuth.App
var user = _repository.FindSingle(u => u.Account == userName); var user = _repository.FindSingle(u => u.Account == userName);
if (user == null) if (user == null)
{ {
throw new Exception("用户帐号不存在"); throw new Exception("用户帐号不存在");
} }
user.CheckPassword(password); user.CheckPassword(password);
@ -43,32 +43,32 @@ namespace OpenAuth.App
{ {
User = user User = user
}; };
//用户角色 //用户角色
var userRoleIds = var userRoleIds =
_relevanceRepository.Find(u => u.FirstId == user.Id && u.Key == "UserRole").Select(u => u.SecondId).ToList(); _relevanceRepository.Find(u => u.FirstId == user.Id && u.Key == "UserRole").Select(u => u.SecondId).ToList();
//用户角色与自己分配到的模块ID //用户角色与自己分配到的模块ID
var moduleIds = var moduleIds =
_relevanceRepository.Find( _relevanceRepository.Find(
u => u =>
(u.FirstId == user.Id && u.Key == "UserModule") || (u.FirstId == user.Id && u.Key == "UserModule") ||
(u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u =>u.SecondId).ToList(); (u.Key == "RoleModule" && userRoleIds.Contains(u.FirstId))).Select(u =>u.SecondId).ToList();
//用户角色与自己分配到的菜单ID //用户角色与自己分配到的菜单ID
var elementIds = var elementIds =
_relevanceRepository.Find( _relevanceRepository.Find(
u => u =>
(u.FirstId == user.Id && u.Key == "UserElement") || (u.FirstId == user.Id && u.Key == "UserElement") ||
(u.Key == "RoleElement" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId).ToList(); (u.Key == "RoleElement" && userRoleIds.Contains(u.FirstId))).Select(u => u.SecondId).ToList();
//得出最终用户拥有的模块 //得出最终用户拥有的模块
loginVM.Modules = _moduleRepository.Find(u => moduleIds.Contains(u.Id)).MapToList<ModuleView>(); loginVM.Modules = _moduleRepository.Find(u => moduleIds.Contains(u.Id)).MapToList<ModuleView>();
//模块菜单权限 //模块菜单权限
foreach (var module in loginVM.Modules) foreach (var module in loginVM.Modules)
{ {
module.Elements = _moduleElementRepository.Find(u => u.ModuleId == module.Id && elementIds.Contains( u.Id)).ToList(); module.Elements = _moduleElementRepository.Find(u => u.ModuleId == module.Id && elementIds.Contains( u.Id)).ToList();
} }
//用户角色与自己分配到的资源ID //用户角色与自己分配到的资源ID
var resourceIds = _relevanceRepository.Find( var resourceIds = _relevanceRepository.Find(
u => u =>
(u.FirstId == user.Id && u.Key == "UserResource") || (u.FirstId == user.Id && u.Key == "UserResource") ||
@ -79,7 +79,7 @@ namespace OpenAuth.App
} }
/// <summary> /// <summary>
/// 开发者登陆 /// 开发者登陆
/// </summary> /// </summary>
public LoginUserVM LoginByDev() public LoginUserVM LoginByDev()
{ {
@ -87,11 +87,11 @@ namespace OpenAuth.App
{ {
User = new User User = new User
{ {
Name = "开发者账号" Name = "开发者账号"
} }
}; };
loginUser.Modules = _moduleRepository.Find(null).MapToList<ModuleView>(); loginUser.Modules = _moduleRepository.Find(null).MapToList<ModuleView>();
//模块包含的菜单 //模块包含的菜单
foreach (var module in loginUser.Modules) foreach (var module in loginUser.Modules)
{ {
module.Elements = _moduleElementRepository.Find(u => u.ModuleId == module.Id).ToList(); module.Elements = _moduleElementRepository.Find(u => u.ModuleId == module.Id).ToList();

View File

@ -5,6 +5,7 @@ using System.Web;
using System.Web.Mvc; using System.Web.Mvc;
using Infrastructure.Helper; using Infrastructure.Helper;
using OpenAuth.App; using OpenAuth.App;
using OpenAuth.Mvc.Models;
namespace OpenAuth.Mvc.Controllers namespace OpenAuth.Mvc.Controllers
{ {
@ -33,7 +34,12 @@ namespace OpenAuth.Mvc.Controllers
} }
catch (Exception e) catch (Exception e)
{ {
return View(e.Message); var response = new BjuiResponse
{
statusCode = "300",
message = e.Message
};
return View(response);
} }
} }

View File

@ -1,7 +1,8 @@
<!DOCTYPE html> @model OpenAuth.Mvc.Models.BjuiResponse
<html> <!DOCTYPE html>
<html lang="zh">
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8">
<title>系统登录</title> <title>系统登录</title>
<script src="~/BJUI/js/jquery-1.7.2.min.js"></script> <script src="~/BJUI/js/jquery-1.7.2.min.js"></script>
<script src="~/BJUI/js/jquery.cookie.js"></script> <script src="~/BJUI/js/jquery.cookie.js"></script>
@ -189,20 +190,23 @@
<div id="errorie"><div>您还在使用老掉牙的IE请升级您的浏览器到 IE8以上版本 <a target="_blank" href="http://windows.microsoft.com/zh-cn/internet-explorer/ie-8-worldwide-languages">点击升级</a>&nbsp;&nbsp;强烈建议您更改换浏览器:<a href="http://down.tech.sina.com.cn/content/40975.html" target="_blank">谷歌 Chrome</a></div></div> <div id="errorie"><div>您还在使用老掉牙的IE请升级您的浏览器到 IE8以上版本 <a target="_blank" href="http://windows.microsoft.com/zh-cn/internet-explorer/ie-8-worldwide-languages">点击升级</a>&nbsp;&nbsp;强烈建议您更改换浏览器:<a href="http://down.tech.sina.com.cn/content/40975.html" target="_blank">谷歌 Chrome</a></div></div>
<![endif]--> <![endif]-->
<div class="main_box"> <div class="main_box">
<div class="setting"><a href="javascript:;" onclick=" choose_bg(); " title="更换背景"> <div class="setting">
<a href="javascript:;" onclick=" choose_bg(); " title="更换背景">
<span class="glyphicon glyphicon-th-large"></span> <span class="glyphicon glyphicon-th-large"></span>
</a></div> </a>
</div>
<div class="login_box"> <div class="login_box">
<div class="login_logo"> <div class="login_logo">
<img src="/BJUI/images/logo.png"> <img src="/BJUI/images/logo.png">
</div> </div>
<!-- @if (Model != null && Model.statusCode == "300")
<c:if test="${!empty message}"> {
<div class="login_msg"> <div class="login_msg">
<font color="red">${message }</font> <font color="red">@Model.message</font>
</div> </div>
</c:if> }
-->
<div class="login_form"> <div class="login_form">
<input type="hidden" value="${randomKey }" id="j_randomKey" /> <input type="hidden" value="${randomKey }" id="j_randomKey" />
<form action="/Login/Index" id="login_form" method="post"> <form action="/Login/Index" id="login_form" method="post">