目前正在着手一个网站(人才网型),准备用form验证,但是这个网站有一个会员区,而且还需要区分个人用户和企业用户,同时还有后台管理管理,因此我就准备了三个登录页面,因为三个用户,对应着三个不一样的表,一个登录页面,我没办法判断待验证的用户是什么类型的用户。form验证可以支持多个登录窗体吗?比如,我的站点下有admin目录和company目录,而且各自包含了login.aspx页面,我希望未授权用户访问admin和company目录,分别自动跳转到相应的login.aspx页面,如何解决呢??

解决方案 »

  1.   

    up 一个就行了
    可以用单选的那个属性区别rodi.SelectItem.value
      

  2.   

    Add a site map and add roles per subdirectory. 
    http://quickstarts.asp.net/QuickStartv20/aspnet/doc/navigation/default.aspx
    http://quickstarts.asp.net/QuickStartv20/aspnet/doc/security/default.aspx
      

  3.   

    如果不使用form验证,还有什么好的验证方法吗?比如用session,安全性和稳定性好吗?
      

  4.   

    还有,在子目录下添加web.config,设置访问的用户和角色,可不可以设定不同的返回路径?
      

  5.   

    你看一下我的博客:http://blog.csdn.net/cityhunter172/
    【原创】ASP.NET 安全认证(一)—— 如何运用 Form 表单认证
    【原创】ASP.NET 安全认证(二)——灵活运用 Form 表单认证中的 deny 与 allow 及保护 .htm 等文件看完这两篇,你应该就可以解决问题了
      

  6.   

    用ASP.NET 2.0的Role来区分吧。
      

  7.   

    实际上是没有必要做几个登录页的。
    你用一个login控件,设定登录后转向的url为 islogin.aspx
    在islogin.aspx控件中,放一个loginview控件,在这个控件中,你设置对于不同role设置不同的菜单。那么这样的话,你的不同权限的用户所看到的菜单是不相同的。如果company角色看到是 company/companyinfo.aspx
    而personal角色看到是的 personal/personal.aspx
    而admin角色所看到是的 admin/admin.aspx还有就是你的web.config中要设置每个角色所能访问的文件夹名称。
      

  8.   

    比如,我的站点下有admin目录和company目录,而且各自包含了login.aspx页面,我希望未授权用户访问admin和company目录,分别自动跳转到相应的login.aspx页面,如何解决呢??==>
    应该可以在login.aspx中判断用户来源
    switch(Request.UrlReferrer){
    case: "/admin":
      Request.Server.Transfer("admin/login");
      break;
    case: "...."
      ...
    default:  
     ...
      
    }
      

  9.   

    大家的思路主要是集中在角色管理这块儿,角色管理,communityserver2.0这个系统我研究过,它使用的已经很好了,不过我主要的问题是用户不同,比如communityserver系统的用户可以抽象成一个cs_user表,进行统一管理,每个用户可以分配不同的角色,但人才网系统中,企业用户的字段,学生用户的字段,网站管理员的字段,都是不同的,无法抽象到一个表里,所以原来我想用form验证的方式来统一管理,现在看行不通了?
      

  10.   

    write a custom membership provider
      

  11.   

    to jiangsheng(蒋晟.Net[MVP]) 好主意,可以自己来定义一个验证,结贴,谢谢大家的帮助!