using System;
using System.Collections.Generic;
using System.Text;
using System.Data;
using System.Data.SqlClient;
using MySql.Data.MySqlClient;
namespace FangYar.OracleDAL
{
///
/// 权限(Oracle数据库实现)
///
public class Authority : FangYar.IDAL.IAuthority
{
///
/// 判断当前用户是否有权限
///
/// 菜单标识码
/// 按钮标识码
/// 用户主键
public bool IfAuthority(string menuCode, string buttonCode, int userId)
{
StringBuilder sb = new StringBuilder();
sb.Append("select count(*) from tbUser u");
sb.Append(" join tbUserRole ur on u.Id=ur.UserId");
sb.Append(" join tbRoleMenuButton rmb on ur.RoleId=rmb.RoleId");
sb.Append(" join tbMenu m on rmb.MenuId=m.Id");
sb.Append(" join tbButton b on rmb.ButtonId=b.Id");
sb.Append(" where u.Id=@Id and m.Code=@MenuCode and b.Code=@ButtonCode");
MySqlParameter[] paras = {
new MySqlParameter("@Id",userId),
new MySqlParameter("@MenuCode",menuCode),
new MySqlParameter("@ButtonCode",buttonCode)
};
object result = FangYar.Common.MySqlHelper.ExecuteScalar(CommandType.Text, sb.ToString(), paras);
if (Convert.ToInt32(result) > 0) //如果一个用户有多个角色,角色里的按钮权限有重复,那么这个result可能大于1
return true;
else
return false;
}
}
}