根web.config文件中的此规范是否正确?我没有在受保护的文件夹中使用子web.config。
<system.web>
<authentication mode="Forms">
<forms name=".ASPXAUTH" loginUrl="">
</forms>
</authentication>
</system.web>
然后另一个system.web规范也在root web.config中:
<location path="to protected folder">
<system.web>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
答案 0 :(得分:7)
您应该使用以下元素设置web.config。
<configuration>
<system.web>
<authentication mode="Forms">
<forms name="SiteName" path="/" loginUrl="~/Login.aspx" protection="All" timeout="30" />
</authentication>
</system.web>
</configuration>
您可以通过放置拒绝匿名访问的web.config来保护文件夹。
<configuration>
<system.web>
<!-- Place in a sub folder that you want to protect using Forms Authentication -->
<authorization>
<deny users="?" />
</authorization>
</system.web>
</configuration>
答案 1 :(得分:2)
Web.config在子文件夹中级联,您的假设是正确的,请使用登录URL
<authentication mode="Forms">
<forms defaultUrl="~/Step1.aspx" loginUrl="~/Signup.aspx" slidingExpiration="true" timeout="1000">
<credentials passwordFormat="Clear">
<user name="admin" password="123.admin"/>
</credentials>
</forms>
</authentication>
<authorization>
<allow users="admin" />
<deny users="?"/>
</authorization>
答案 2 :(得分:0)
在system.web标记下的配置标记和认证元素下添加connectionStrings元素。
<connectionStrings>
<add name="cs"connectionString="Data source=server_name; Initial Catalog=database_name; User Id=user_id; Password=user_password" providerName="System.Data.SqlClient" />
</connectionStrings>
<authentication mode="Forms">
<forms loginUrl="~/Home/LogOn"defaultUrl="~/Home/Home"timeout="2880" />
</authentication>
这是一个有效的Example