ASP.NET权限如何设置?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ASP.NET权限如何设置?相关的知识,希望对你有一定的参考价值。

最近初学asp.net,现要做个网站,准备三种角色,游客,用户,管理员。游客只能访问其中指定的网页,用户可以访问所有页面,但不能修改和添加数据,管理员可访问,修改所有页面及数据。
我想了两种方式:

1.每个页面载入之前判断权限,无权限就无法载入,跳转到其他页面。这样可以把修改和添加 这项功能放到一个单独页面中,仅管理员可访问该页面,从而进行修改。

2.设置权限表,仅管理员的修改权限设置为允许,其他角色都无权限。
我是新手,不知道这两种方法可行吗?有什么区别?

其实我主要纠结在修改功能和添加功能这个权限上,不知道到底是将其放在单独页面里,然后设置该页面访问权限来达到控制目的,还是其他更简单方法?

个人觉得第一种比较简单啊,比如在一个查询页面,当点击“修改”后,自动跳转至修改页面,但是在跳转之前判别该角色权限,权限不够则无法跳转至修改页。第一种方法相对于第二种来说比较简单吧?但不知道能实现不?

建议第一种方法,比较简单。在用户表上新建一个字段limits ,例如:游客为0,用户为1,管理员为3,在点击修改或添加使,取出这个字段进行判断。当为0时,弹出对话框“对不起,您无此权限”;当为1时,弹出对话框“对不起,您无此权限”;当为3时,就直接操作就行。 参考技术A 参见asp.net成员资格介绍
http://msdn.microsoft.com/zh-cn/library/yh26yfzy(v=vs.100).aspx
参考技术B 为了安全考虑,当然也为了体现面向对象和软件设计的模式,最好在每一个页面加载的时候判断权限,设置一个基类页面,所有的页面都继承自它,基类页面设置一个字段isrule,重写基类render方法判断权限,这里你注意下生命周期。最后,在继承类中的onpreint方法写你的判断权限代码,注意,这是在pageload之前。如果你只是在pageload里判断下,session一下,不用我说,你自己觉得这个设计怎么样? 参考技术C 用单独的页面处理高级授权比较容易做,你是新手还是按这个方法比较好。如果按授权划分功能程序的耦合度会比较高,处理得成本会大幅增加的。追问

那就是第一种了?

追答

是的

参考技术D 可以登录的是时候判断权限,然后隐藏那些不能操作的功能。在大的菜单方面,你可以把某项无法操作的功能隐藏或是设置为只读,这个要看你用什么样的导航,小的方面呢,比方说你查看某条信息的时候,管理员有修改的权限,是普通用户的话就设置这个修改按钮为只读,这样他就只能看不能动了。 第5个回答  2012-09-24 可以实现,通过登录的账户判断是否为管理员,对管理员有相应权限,与登录判断差不多,用内置对象session限定

asp.net mvc5 如何控制没有权限的页面不显示

参考技术A 在page里写读取seeion["user"]是否存在如果不存在的话跳转其他页面。
如何实现ASP.Net根据不同用户权限显示不同页面可以以下操1:获取用户登录时的信息。2:判断用户是否管理员3:是管理员就response.redirct("管理员将去的页面");4:是普通用户就response.redirct("普通用户将去的页面");。
asp.netmvc5只能运行在Windows,MVC与ASP.NET完全没有关系,是一个全新的Web开发,事实上ASP.NET是创建WEB应用的框架而MVC是能够用更好的方法来组织并管理代码的一种更高级架构体系,所以可以称之为ASP.NETMVC。可将原来的ASP.NET称为ASP.NETWebforms,新的MVC称为ASP.NETMVC。

以上是关于ASP.NET权限如何设置?的主要内容,如果未能解决你的问题,请参考以下文章

从 ASP.NET 站点创建 Windows 帐户并设置文件权限

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

ASP.NET 登录以授予对特定类型人群的访问权限

asp.net mvc5 如何控制没有权限的页面不显示

ASP.net Membership角色与权限管理

如何使用 Asp.Net Core 实现基于权限的访问控制