/// <summary> /// 自定义授权检查 /// </summary> /// <param name="httpContext"> /// <para>HTTP 上下文</para> /// <para>封装有关单个 HTTP 请求的所有 HTTP 特定的信息</para> /// </param> /// <returns>执行结果</returns> protected override bool AuthorizeCore(HttpContextBase httpContext) { //return base.AuthorizeCore(httpContext); if (httpContext == null) { return(false); } if (httpContext.User.Identity.IsAuthenticated) { if (!string.IsNullOrEmpty(DawnauthHandler.UserName) || DawnauthHandler.UserInfo != null) { if (!string.IsNullOrEmpty(ModuleCode) && FunctionMark > 0) { if (IsAllow() && base.AuthorizeCore(httpContext)) { return(true); } httpContext.Response.StatusCode = 403; } else { return(true); } } else { DawnauthHandler.ClearLogin(); httpContext.Response.StatusCode = 401; } } return(false); }
/// <summary> /// 验证授权 /// </summary> /// <returns>执行结果</returns> private bool IsAllow() { return(DawnauthHandler.VerifyModule(ModuleCode, FunctionMark)); }
/// <summary> /// 退出系统 /// </summary> /// <returns>执行结果</returns> public ActionResult Exit() { DawnauthHandler.ClearLogin(); CookieHelper.Add("logout", "safe", 1); return(RedirectToAction("Login")); }
/// <summary> /// 修改密码 /// </summary> /// <param name="userId">用户编号</param> /// <param name="userPwd">用户密码</param> public static void ChangePassword(int userId, string userPwd) { DawnauthHandler.ChangePassword(userId, userPwd); }
/// <summary> /// 退出系统 /// </summary> public static void Exit() { DawnauthHandler.ClearLogin(); CookieHelper.Add("logout", "safe", 1); }
/// <summary> /// 获取用户指定权限扩展编码的扩展标识字符串 /// <para>格式:1,2,3,4,5</para> /// </summary> /// <param name="exteCode">权限扩展编码</param> /// <param name="dataType">数据类型(1string,2int)</param> /// <returns>权限扩展标识字符串</returns> public static string UserExtentString(string exteCode, byte dataType) { return(DawnauthHandler.UserExtentString(exteCode, dataType)); }
/// <summary> /// 用户登录验证 /// <para>返回的哈希表包含键值:</para> /// <para>Msg 消息正文,值为[refresh]时需要刷新整个页面</para> /// <para>Url 跳转的URL链接</para> /// <para>IsCode 刷新验证码</para> /// </summary> /// <param name="userName">帐号名称</param> /// <param name="userPwd">帐号密码</param> /// <param name="checkCode">验证码</param> /// <param name="returnUrl">登录跳转页面</param> /// <param name="outEx">异常信息对象</param> /// <returns>验证结果</returns> public static Hashtable VerifyLogin(string userName, string userPwd, string checkCode, string returnUrl, out Exception outEx) { return(DawnauthHandler.VerifyLogin(userName, userPwd, checkCode, returnUrl, out outEx)); }
/// <summary> /// 验证用户是否具有指定的权限扩展标识权限 /// </summary> /// <param name="exteCode">权限扩展编码</param> /// <param name="exteMark">权限扩展标识</param> /// <returns>执行结果</returns> public static bool VerifyExtent(string exteCode, string exteMark) { return(DawnauthHandler.VerifyExtent(exteCode, exteMark)); }
/// <summary> /// 验证用户是否具有指定的模块与功能权限 /// <para>验证方式:</para> /// <para>模块识别码及功能识别码</para> /// </summary> /// <param name="identModule">模块识别码</param> /// <param name="identFunction">功能识别码</param> /// <returns>执行结果</returns> public static bool VerifyRealtime(int identModule, int identFunction) { return(DawnauthHandler.VerifyRealtime(identModule, identFunction)); }
/// <summary> /// 验证用户是否具有指定状态机制的操作权限 /// </summary> /// <param name="moduleCode">模块编码</param> /// <param name="status">数据状态</param> /// <returns>执行结果</returns> public static bool VerifyStatus(string moduleCode, int status) { return(DawnauthHandler.VerifyStatus(moduleCode, status)); }
/// <summary> /// 验证用户是否具有指定功能的权限 /// </summary> /// <param name="moduleCode">模块编码</param> /// <param name="functionMark">功能标识</param> /// <returns>执行结果</returns> public static bool VerifyModule(string moduleCode, int functionMark) { return(DawnauthHandler.VerifyModule(moduleCode, functionMark)); }
/// <summary> /// 清除登录相关信息 /// </summary> public static void ClearLogin() { DawnauthHandler.ClearLogin(); }