我有一个网络应用程序。在我使用sso进行身份验证之前。我把下面的代码放在web.config页面中。
<authentication mode="Forms">
<forms loginUrl="https://sso.***.***.***/login" timeout="30" defaultUrl="~/Index.aspx" cookieless="UseCookies" slidingExpiration="true" path="/" />
</authentication>
效果很好。每个人都要去那个网站需要先登录。 现在我们需要改变以使一些页面向公众开放。所以人们不需要登录来访问某些页面,但有些页面仍然需要登录(使用sso)。 怎么做?
由于
答案 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