我做一系统里面有新闻发布的模块,表如下:
news表(新闻的基本表)
user表(用户基本信息)
role表(角色基本信息)
menu表(后台管理菜单的基本信息)
userInRole表
userID
roleID
roleInMenu表
roleID
menuID现在有3个用户admin,newsRecordA,newsRecordB
他们的角色为管理员,新闻录入员A,新闻录入员B
当这3个用户分别登陆的时候,管理菜单相应的变化(已实现)
当进查看发布新闻节点(管理菜单中的一节点),怎么实现管理员(admin)可以看到所有新闻,新闻录入员A(newsRecordA)只能看到他自己发布的新闻,新闻录入员B(newsRecordB)也只能看到他自己发布的新闻

解决方案 »

  1.   

    new表里 添加一个userid字段来记录谁发的那一条新闻信息。然后在 where里加上这个条件的过滤就行了。
      

  2.   

    管理员的权限是所有可以做个判断 管理员admin是唯一的如果是admin登陆则开放所有权限 查询所有
      

  3.   

    有个LoginView控件 
    没有弄过  顶
      

  4.   

    给所有管理员分级别 ~~~~~~这样会更方便`~
    管理员 ---- A级
    新闻录入员A和新闻录入员B ----B级当A级登陆 显示所有B级则通过参数查询
      

  5.   

    最简单的办法,在web.config中配置子目录与Roles的访问权限关系,然后用SiteMap来声明导航。普通的SiteMapProvider自然会根据URL和配置来知道一个导航节点当前用户是否有权访问,没权访问的节点它会自动隐藏。更复杂的做法,就是自己继承SiteMapProvider,在里面实现自己的权限处理逻辑。
      

  6.   

    我是这样考虑的user表中加一字段用来代表级别userid username  userlevel
    1 admin   9
    2       newsrecordA       1
    3       newsrecordB       1在news表中newsid   newsForUserID
    1        2
    2        2
    3        3这样划分每条新闻的归属在newsView.aspx,你先判断一下用户的userlevel。如从一个dataset中
    if ds.tables(0).rows(0).item("userlevel")=9 then
    '列出所有新闻
    else
    select from news where newsForUserID=从该用户登录时取得的userid
    '这样就可以取出登录用户的所有新闻了
    end if其实我觉得这里用membership和role就比较方便了。
      

  7.   

    new表里  添加一个userid字段来记录谁发的那一条新闻信息
    如果是这样的话,管理员要是再添加一个用户a,把a分配给角色(内容编辑),那不是要在new表里的每个userid字段里加上a的id
      

  8.   

    现纠正一错误
    3个用户      admin,newsRecordA,newsRecordB  
    对应的角色是 管理员,新闻录入员,新闻录入员
    当用户登陆的时候user(表)->userInRole表(检索出该用户userID对应的RoleID)->roleInMenu表(检索出roleID对应的menuID)[实现菜单的管理]
    当点击菜单里的"查看发布新闻"节点时,要怎么实现管理员(admin)可以看到所有新闻,新闻录入员A(newsRecordA)只能看到他自己发布的新闻,新闻录入员B(newsRecordB)也只能看到他自己发布的新闻,新闻录入员A(newsRecordA)和新闻录入员B(newsRecordB)是同一角色(新闻录入员),星期天给分
      

  9.   

    当进查看发布新闻节点(管理菜单中的一节点),怎么实现管理员(admin)可以看到所有新闻,新闻录入员A(newsRecordA)只能看到他自己发布的新闻,新闻录入员B(newsRecordB)也只能看到他自己发布的新闻这个不是权限的问题,应该是直接通过代码实现的阿,比如进入以后管理员有修改,删除的按钮,其他人员没有,这个才叫权限控制把
      

  10.   

    新闻录入员A(newsRecordA)和新闻录入员B(newsRecordB)是同一角色(新闻录入员),好,他们是同一角色,但是他们在user表中是唯一的吧。如a他的userid 为1,b的userid为2
    那么,你在news表中,记录下每条新闻的所有人.如
    newsid newstitle newsWho
    0001   title1     1
    0002   title11    2这样你选的时候,把他们登录时的userid记录下来,在这里找到所有的newswho 等于他们的userid的不就是可以了。
      

  11.   

    哪有那么麻烦啊!直接在WEB.CONFIG 里边分配权限又快又好!
      

  12.   

    支持一下了!这个问题!~我还是个人认为在数据库里加上新闻发布人好一点!这样虽然说有点频繁操作数据库不过就样对维护好点!而对:erictang2003() 说的WEB.CONFIG 是什么操控文件!小弟不堪明白可否解释一下·!谢了
      

  13.   

    在用户发布新闻的时候,你要记录是谁发布的这条新闻,比如FBR_ID字段来记录如果想要对这条新闻加上角色权限,就再加一个角色的字段,比如JS_ID这样通过WHERE 语句来进行筛选