MVC权限控制

基本方法是重写AuthorizeAttribute类的AuthorizeCore方法

protected override bool AuthorizeCore(HttpContextBase httpContext)

{

string currentRole = GetRole(httpContext.User.Identity.Name);

if (Roles.Contains(currentRole))

return true;

return base.AuthorizeCore(httpContext);

}

private string GetRole(string name)

{

Model1 db = new Model1();

student newstudent = db.Students.First(m => m.name == name);

return newstudent.name;

}

在登录的时候需要写入name信息

FormsAuthentication.SetAuthCookie(stu.name, false);

最后在需要控制的action前加上

[MyAuthAttribute2(Roles = "****")]

时间: 2024-08-25 05:48:33

MVC权限控制的相关文章

spring MVC 权限控制拦截

SecurityInterceptor实现spring mvc 框架的结构在访问控制@Controller之前的权限拦截,具体实现方法,增加总权限控制器 public class SecurityInterceptor extends HandlerInterceptorAdapter{ private static final Logger logger = Logger.getLogger(SecurityInterceptor.class); @Resource private Sessi

Asp.Net MVC 权限控制(二):Controller级别控制

续接上篇:Asp.Net MVC 权限控制(一):使用 Authorize Roles 简单实现 由于直接在Controller上标记角色名有很大的局限性,所以本示例使用 ActionFilterAttribute 进行权限拦截. 首先创建三类标记: 1. 匿名访问标记(AnonymousAttribute)2. 登录用户访问标记(LoginAllowViewAttribute)3. 权限验证访问标记(PermissionPageAttribute) 最重要的一个权限拦截:AuthorizeFi

Asp.Net MVC 权限控制(一):使用 Authorize Roles 简单实现

最近由于项目的需要对权限控制做了几个Demo,贴出来供大家拍砖! 首先创建一个 BaseController ,让所有的Controller继承自BaseController . [Authorize] public class BaseController : Controller { } 系统登录需要一个 AccountController ,继承自BaseController ,并添加匿名访问标记 AllowAnonymous. AccountController 实现系统的登录功能,并将

Asp.Net MVC 权限控制(三):Controller和Action级别控制

续接上篇:Asp.Net MVC 权限控制(二):Controller级别控制 再次在重构!这次对Controller和Action进行验证. 思路:系统有很多功能集,功能集对应很多Controller和Action,角色分配很多功能集. 首先构建一个基础数据: 1.功能集初始化: /// <summary> /// 系统模块 /// </summary> public class SystemModule { public SystemModule() { this.ID = G

关于ASP.NET MVC权限控制,通过自定义属性Attribute实现

公司打算从webform转到MVC架构,一直困扰我的就是权限控制问题.对于每一个模块,都需要判断该用户是否有访问的权限,每个用户的权限都不同,没有办法用角色权限来控制.在借鉴之前webform的实现方式和MVC的实例应用程序后,想到通过自定义Attribute来实现,实现代码如下: 1 public sealed class FunctionFilterAttribute : ActionFilterAttribute 2 { 3 private string _functionID; 4 pu

基于资源名的MVC权限控制

在程序复杂程度不断上升的过程中,无可避免需要触碰到权限控制,而权限控制又与业务逻辑紧紧相关,市场上出现了大量的权限控制产品,而程序的开发,讲究去繁化简的抽象,在我的开发过程中,逐渐发现程序的权限控制核心不外乎两个方面:1.资源定位:2.访问控制列表.本文主要针对资源定位进行分析,并解决一些我所遇见过的问题.而在MVC上,MVC提供给我们了非常好的访问控制扩展机制,我们能够通过这些机制更好地控制系统权限. 在我们之前的开发中,针对ASP.NET下WebForm进行开发,很多人都采用了继承Page基

asp.net core mvc权限控制:分配权限

前面的文章介绍了如何进行权限控制,即访问控制器或者方法的时候,要求当前用户必须具备特定的权限,但是如何在程序中进行权限的分配呢?下面就介绍下如何利用Microsoft.AspNetCore.Identity.EntityFrameworkCore框架进行权限分配. 在介绍分配方法之前,我们必须理解权限关系,这里面涉及到三个对象:用户,角色,权限,权限分配到角色,角色再分配到用户,当某个用户属于某个角色后,这个用户就具有了角色所包含的权限列表,比如现在有一个信息管理员角色,这个角色包含了信息删除权

asp.net core mvc权限控制:在视图中控制操作权限

在asp.net core mvc中提供了权限验证框架,前面的文章中已经介绍了如何进行权限控制配置,权限配置好后,权限验证逻辑自动就会执行,但是在某些情况下,我们可能需要在代码里或者视图中通过手工方式判断权限,我们现在就来介绍下具体的操作方法. 如果在控制器方法里想要判断当前用户是否具有某个权限,可以直接使用HttpContext.User.HasClaim(string cliamtype,string cliamvalue)方法进行判断,该方法返回bool类型,返回true表示具有权限,否则

ASP.NET MVC权限控制思路

在系统开发的时候一个老生常谈的权限管理问题,翻阅了很多的网络资料,但是总感觉离实际使用还有一段距离,其实权限控制无非就几个“请求.页面按钮.字段显示”, 对于前端权限就需要配合JS了, 这里主要展示我这些年来一直使用的一个关于权限管理的案例,如果你只是写一个简单的CMS系统,那么下面代码其实拷贝就可以用了,如果是需要进行较大型系统开发就需要进一步封装, 下面是我的思路,写的不好大家勿喷哈,有不同意见的留下一起探讨. 1.在MVC开发时路由中包含了我们所有请求信息(Controller.Actio