http://expert.csdn.net/Expert/topic/2273/2273207.xml?temp=.3427851

解决方案 »

  1.   

    如果WebPersonProjects中不加web.config,则在地址栏直接输入Webperson.aspx 所在的地址会直接进入,这样肯定不行了-->>在当前页面加载的时候应判断当前登陆用户是否合法!
      

  2.   

    在当前页面加载的时候应判断当前登陆用户是否合法!
    ???
    实际上,只要在web.config中设置了身份验证方式,forms,deny user="?",和
     <forms name=".ASPXAUTH" loginUrl="Security\Logon.aspx" protection="All" timeout="60" path="/">
    可以不需要在页面加载时判断当前登陆用户是否合法的,
    当只有一个webproject:WebUI时就是这样,其实只要访问的页面是WebUI中的,
    他都会自动验证,并且只要是登陆系统的用户,在进入webui下其他页面时就不会再要你登陆了。主要是如果要进入WebPersonProjects下的页面不设置WebPersonProjects下的web.config,就不会进行验证,但设置了之后了,即使是已经登陆的用户他还是要你登陆,这就不行了。而且输入正确user,password后居然还登陆不进,不知道该怎么解决。
      

  3.   

    这完全是Forms验证类型的机制,只要在一个webprojects中的任何目录下的任何文件都
    都可以直接访问(合法性验证通过这后),也就是我上面说的在webproject中的
    web.config中配置,现在的问题是我有多个webprojects:
    webui.projects,
    webperson.projects,
    安全机制只对webui.projects的有效,对webperson.projects就没效了,
    如果要在每个页的Page_onLoad事件中进行合法性校验,岂不是很麻烦,而且也脱离了
    web.congif中的安全配置了。
    我之所以要分多个projects,是因为系统可分成很多大的子系统,
    就象delphi中的工程组下面根据子系统为每个子系统建一个的包。
    所有公用的东西可以放在一个公用的projects中
      

  4.   

    http://218.56.11.178:8020/web/index.aspx如果你想要的效果是这样,可以给我发消息,我开帖子把方法拿出来供大家讨论。
      

  5.   

    to :
    jpyc我看了,效果不错,但是不知内部架构