用户验证

#region 用户验证
/// <summary>
/// 用户验证过滤器
/// </summary>
public class UserAuthentication : AuthorizeAttribute
{
IMenu imenu = UserEngine.GetProvider<IMenu>();

/// <summary>
/// 执行前验证
/// </summary>
public override void OnAuthorization(AuthorizationContext filterContext)
{
base.OnAuthorization(filterContext);
if (!UserContext.Instance.IsLogined)
{
filterContext.Result = new RedirectResult("/home/Login");
//filterContext.Result = new JsonResult { Data = new { Result = 1, Content = "您没有权限!", Redirect = "/Home/Login" }, JsonRequestBehavior = JsonRequestBehavior.AllowGet };
}
else
{
IList<ActionInfo> actionList = UserContext.Instance.User.GetActions();
IList<MenuActionInfo> menuActionList = imenu.GetMenuActionListByActions(actionList);
IDictionary<int, MenuInfo> menuInDB = imenu.GetMenuDictionary();

var isMenuInDbQuery = from m in menuInDB.Values
where (!string.IsNullOrEmpty(m.TargetUrl.Trim())&&filterContext.HttpContext.Request.Url.PathAndQuery.ToUpper().Contains(m.TargetUrl.ToUpper()))
select m;

if(isMenuInDbQuery.ToList().Count()>0)
{

var menuQuery = from ma in menuActionList
where (!string.IsNullOrEmpty(ma.TargetUrl.Trim())&&filterContext.HttpContext.Request.Url.PathAndQuery.ToUpper().Contains(ma.TargetUrl.ToUpper()))
select ma.TargetUrl;

if (menuQuery.ToList().Count() < 1)
{
filterContext.Result = new RedirectResult("/Home/Login");
}
}
}
}
}
#endregion

时间: 2024-10-23 11:39:48

用户验证的相关文章

ASP.NET与ASP.NET Core用户验证Cookie并存解决方案

在你将现有的用户登录(Sign In)站点从ASP.NET迁移至ASP.NET Core时,你将面临这样一个问题——如何让ASP.NET与ASP.NET Core用户验证Cookie并存,让ASP.NET应用与ASP.NET Core应用分别使用各自的Cookie?因为ASP.NET用的是FormsAuthentication,ASP.NET Core用的是claims-based authentication,而且它们的加密算法不一样. 我们采取的解决方法是在ASP.NET Core中登录成功

MVC WebApi 用户验证 (2)

构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(66)-MVC WebApi 用户验证 (2) 前言: 构建ASP.NET MVC5+EF6+EasyUI 1.4.3+Unity4.x注入的后台管理系统(65)-MVC WebApi 用户验证 (1) 回顾上一节,我们利用webapi简单的登录并进行了同域访问与跨域访问来获得Token,您可以跳转到上一节下载代码来一起动手. 继续上一篇的文章,我们接下来演示利用拿到的Token来访问接口,管理接

apache的相关设置-给目录或者文件设置用户验证

给目录或者文件设置用户验证 再对应的主机配置文件中加入如下配置: <Directory /data/www/admin.php>    AllowOverride AuthConfig    AuthName "The administrator authentication!"    AuthType Basic    AuthUserFile /data/.htpasswd    require valid-user</Directory> Director

Oracle 用户验证日志

1.sysdba/sysoper 权限用户验证日志;2.非sysdba/sysoper 权限用户验证日志;3.关于sqlcode; 1.sysdba/sysoper 权限用户验证日志:在数据库设置了参数 audit_sys_operations=true 的情况下,系统会根据 audit_trail 参数的设置记录 sysdba/sysoper 权限用户日志到 audit_file_dest 参数设置的目录下,记录日志的内容包括(数据库启动操作.登录验证信息.DML操作),其它非 sysdba/

Java Swing界面编程(23)---事件处理:编写用户验证登录用例

LoginCheck: package com.beyole.util; class LoginCheck {//编写登录验证类 private String userName;//用户名 private String password;//密码 public LoginCheck(String userName,String password)//复写构造方法 { this.userName=userName;//为用户名赋值 this.password=password;//为密码赋值 }

H3C设备console口配置本地用户验证

很简单的一个问题,既然有人提到了,那我就在这里记录一下. <H3C>sys System View: return to User View with Ctrl+Z. [H3C]local-user admin [H3C-luser-admin]password cipher 12345678 Updating user(s) information, please wait.... [H3C-luser-admin]service-type telnet level 3 [H3C-luser

spring4.0整合mongodb3.0.4项目实践(用户验证)

我们的项目用到了spring框架和mongdb数据库,随着mongodb升级到3.0已有半年时间,我们也开始随之升级,但是3.0的用户验证有所更改,导致原来的很多配置无法再用. 经过几天的尝试后,终于成功的用spring配置验证. 升级用了两个新的jar包,分别是pring-data-mongodb1.7.2(http://pan.baidu.com/s/1bnkAA67)和mongodb-java-driver3.0.2(http://pan.baidu.com/s/1jG6bc3c): sp

ASP.NET 用户验证

一般系统中经常会写登录模块,特意总结下登录模块的写法和ASP.NET用户验证的方式. ASP.NET 用户验证,布布扣,bubuko.com

搭建文件共享服务器-samba 匿名和用户验证访问

本实验环境: 系统:centos7 samba服务:samba-4.4.4-9.el7.x86_64 samba的作用:samab是文件共享服务,打印机共享等,用于和windows一起工作. samba服务有两个服务程序,分别是smb和nmb.smb主要负责客户机提供服务器中的共享资源(文件和目录的访问) nmb负责提供NetBIOS协议的主机名称解析,便于windows网络中的主机进行查询服务. 实验前准备: systemctl stop firewalld.service ###这里是关闭防

Subversion的安装部署与用户验证配置

注:本例采取subversion+apache的模式 一:所需软件包下载 编译svn需要依赖sqlite库,RHEL5自带的rpm包版本太低,编译不能通过. #wget http://www.sqlite.org/sqlite-amalgamation-3.6.13.tar.gz #wget http://subversion.tigris.org/downloads/subversion-1.6.12.tar.bz2 #wget http://archive.apache.org/dist/h