ASP.NET角色 与 页面对应的问题 ,请进!
使用 asp.net 做一个人力资源管理系统 ,数据库使用SqlServer2005
不太懂角色的分配问题, 例如: 人事部门的档案管理: 人事专员负责登记人事档案(login.aspx),之后交给人事经理审查(check.aspx)。
怎么样才能让人事专员不能进入到check.aspx页面那 。
想了很长时间,想到可以 通过 菜单来控制,当人事专员进入系统后,不让审查的菜单出现在他的功能菜单之内。
但是这样也同时会有一个问题:若直接从URL进入便会不能阻止了……
这样的问题会出现很多页面,不希望解决方案是 一次次的判断,请高手指点迷津 ! --------------------编程问答-------------------- 那就考虑在每个页面分别判断权限,
假如 check.aspx 页面只有A权限能进去,那a人进来时,先判断a人所属的角色里是否包含A权限 --------------------编程问答-------------------- role不是有个现成的角色管理吗? --------------------编程问答--------------------
那就需要在每次进入页面的Load事件中都要依次判断咯?
如果有很多页面的话,可不可以有简单一点的方法?
--------------------编程问答-------------------- 直接用sitemap --------------------编程问答-------------------- <?xml version="1.0" encoding="utf-8"?>
<siteMap>
<siteMapNode title="Root" url="" roles="角色1,角色2....">
<siteMapNode title="主工作区" imageurl="~/pics/task_0.jpg" roles="角色1,2,3...” url="">
<siteMapNode title="在线项目管理" roles="角色1" url="~/nav/custProject.aspx" />
<siteMapNode title="在线项目管理1" roles="角色1" url="~/nav/custProject.aspx" />
</siteMapNode>
</siteMapNode>
</siteMap>
每个文件夹下再生成一个XML文件控制下就OK了 --------------------编程问答-------------------- 没权限表的嘛?
母版页load做判断登录否,权限检查,一系列操作吖
然后套用母版页的子页面不都有自动的判断了?
--------------------编程问答-------------------- 可以写一个公共方法 每个页面都掉用这个方法 那个方法可以判断用户是否有权限读取或者修改此页面 那个方法体里面可以从数据库读取 或者是一个XML文件读取 看你们需求了.... --------------------编程问答-------------------- http://www.programbbs.com/doc/3135.htm --------------------编程问答-------------------- 可以使用自定义Attribute来实现。 --------------------编程问答--------------------
[AuthenticatedAttribute("12")]
public partial class _Default : PageBase
{
protected void Page_Load(object sender, EventArgs e)
{
}
}
譬如这个,只要权限编号有12的都可以访问。
自定义一个AuthenticatedAttribute继承于Attribute,PageBase类继承于Page,在PageBase类里面写验证方法。 --------------------编程问答--------------------
可不可以细说下?? 谢谢( ⊙ o ⊙ )! --------------------编程问答-------------------- 点菜单“项目”->“ASP.NET配置”,启用角色管理,添加角色,在规则里选中check.aspx,添加规则 --------------------编程问答-------------------- 干吗不用IHttpModule去实现呢? --------------------编程问答-------------------- 可以把所有的页面路径存储在数据库中然后对不同的角色进行判断,如果给予某个权限就在Check选中就行. --------------------编程问答-------------------- 公文流转把
我现在也在做
只要在数据库的权限表写好了
每个拥护给一个权限的标识 了就行了
--------------------编程问答-------------------- up --------------------编程问答-------------------- up
补充:.NET技术 , ASP.NET