当前位置:编程学习 > C#/ASP.NET >>

ASP.NET角色 与 页面对应的问题 ,请进!

  
使用 asp.net 做一个人力资源管理系统 ,数据库使用SqlServer2005

不太懂角色的分配问题, 例如: 人事部门的档案管理: 人事专员负责登记人事档案(login.aspx),之后交给人事经理审查(check.aspx)。
怎么样才能让人事专员不能进入到check.aspx页面那 。 

想了很长时间,想到可以 通过 菜单来控制,当人事专员进入系统后,不让审查的菜单出现在他的功能菜单之内。
但是这样也同时会有一个问题:若直接从URL进入便会不能阻止了……

这样的问题会出现很多页面,不希望解决方案是 一次次的判断,请高手指点迷津 ! --------------------编程问答-------------------- 那就考虑在每个页面分别判断权限,
假如 check.aspx 页面只有A权限能进去,那a人进来时,先判断a人所属的角色里是否包含A权限 --------------------编程问答-------------------- role不是有个现成的角色管理吗? --------------------编程问答--------------------
引用 1 楼 mengxj85 的回复:
那就考虑在每个页面分别判断权限,
假如 check.aspx 页面只有A权限能进去,那a人进来时,先判断a人所属的角色里是否包含A权限


那就需要在每次进入页面的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类里面写验证方法。 --------------------编程问答--------------------
引用 9 楼 mytimes_walker 的回复:
可以使用自定义Attribute来实现。


可不可以细说下??  谢谢( ⊙ o ⊙ )!  --------------------编程问答-------------------- 点菜单“项目”->“ASP.NET配置”,启用角色管理,添加角色,在规则里选中check.aspx,添加规则 --------------------编程问答-------------------- 干吗不用IHttpModule去实现呢? --------------------编程问答-------------------- 可以把所有的页面路径存储在数据库中然后对不同的角色进行判断,如果给予某个权限就在Check选中就行. --------------------编程问答-------------------- 公文流转把
我现在也在做
只要在数据库的权限表写好了
每个拥护给一个权限的标识 了就行了
--------------------编程问答-------------------- up --------------------编程问答-------------------- up
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,