代码之家  ›  专栏  ›  技术社区  ›  Jon

ccnet webdashboard身份验证表单模式如何设置以确保其安全

  •  3
  • Jon  · 技术社区  · 14 年前

    我确信我只是做错了这件事,但对于我的生活来说,我不能让事情变得很好。我刚刚开始在WS2008 x64虚拟机上安装和配置CruiseControl.net。安装看起来有点滑稽,因为它没有为仪表板创建一个IIS站点,最后我自己做了这个,并指向:

    C:\程序文件(x86)\CruiseControl.net\WebDashboard

    (必须为IIS添加权限才能处理配置文件,但不确定这到底有多好)。

    总之,我现在可以查看Web仪表板并进入管理部分等。最终,我希望该网站可以在线访问,以便于团队使用,因此需要锁定和安全。为此,我在web.config上放置了以下部分:

    <authentication mode="Forms">
            <forms name="appNameAuth" path="/" loginUrl="server/local/SimpleUserLogin.aspx" protection="All" timeout="30">
                <credentials passwordFormat="Clear">
                    <user name="jon" password="test" />
                    <user name="mike" password="test" />
                </credentials>
            </forms>
        </authentication>
    

    如果我将以下部分放在中,我可以进入登录屏幕,但即使在登录后也会一直发送回该屏幕,并且永远看不到任何其他页面:

        <authorization>         
            <deny users="?" />
        </authorization>
    

    我在system.web节之外还有这个:

    <location path="server/local/SimpleUserLogin.aspx">
        <system.web>
            <authorization>
                <allow users ="*" />
            </authorization>
        </system.web>
    </location>
    

    我的目标是将所有未登录的用户引导到登录页面,而不是其他位置,一旦登录,他们就可以查看任何页面。我是不是在这里发疯?

    谢谢

    2 回复  |  直到 14 年前
        1
  •  3
  •   Jon    14 年前

    好吧,所以我发现这一切都是错的。当我使用1.5时,有一个新的安全功能:

    http://confluence.public.thoughtworks.org/display/CCNET/Configuring+the+Server

    上面的链接用一些示例配置显示了所有设置。基本上,我在ccnet.config中放置了以下内容:

    <internalSecurity>
     <users>
      <!-- Authenticated users -->
      <passwordUser name="bob" display="Bob (Team Lead)" password="bob1"/>
      <passwordUser name="jane" display="Jane (BA)" password="jane2"/>
      <passwordUser name="john" display="John (QA)" password="john3"/>
      <passwordUser name="joe" display="Joe (QA)" password="joe4"/>
      <!-- Generic role -->
      <simpleUser name="*"/>
    </users>
    <permissions>
      <!-- Roles -->
      <rolePermission name="Testers" forceBuild="Allow" defaultRight="Deny">
        <users>
          <userName name="john"/>
          <userName name="joe"/>
        </users>
      </rolePermission>
      <rolePermission name="Releasers" forceBuild="Allow" defaultRight="Deny">
        <users>
          <userName name="bob"/>
          <userName name="jane"/>
        </users>
      </rolePermission>
    </permissions>
    

    用一点镊子就很管用了。希望它能帮助别人。

        2
  •  0
  •   Muxa    14 年前
    推荐文章