如何使用sso只是为了一些页面

时间:2013-04-11 19:50:13

标签: c# asp.net single-sign-on

我有一个网络应用程序。在我使用sso进行身份验证之前。我把下面的代码放在web.config页面中。

<authentication mode="Forms">
      <forms loginUrl="https://sso.***.***.***/login" timeout="30" defaultUrl="~/Index.aspx" cookieless="UseCookies" slidingExpiration="true" path="/" />
    </authentication>

效果很好。每个人都要去那个网站需要先登录。 现在我们需要改变以使一些页面向公众开放。所以人们不需要登录来访问某些页面,但有些页面仍然需要登录(使用sso)。 怎么做?

由于

1 个答案:

答案 0 :(得分:1)

使用web.config的<location><authorization>部分。如果当前要求用户登录所有页面,我认为你有类似的东西:

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

您可以添加<location>元素(这些元素超出<system.web>部分):

  <location path="publicpage.aspx">
    <system.web>
      <authorization>
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

您可以根据需要添加任意数量的<location>元素,也可以在路径属性中定位目录。

如果您希望为目录保持一点清洁,可以将web.config添加到目录,并将<authorization><location>元素添加到该web.config