个人认为 Forms验证应用于后台比较好,防止一些非法用户进入后台。
Forms 当有用户登录到页面上后存入 Cookie 后才可以访问其他页面。
Forms验证 首先要把 下面代码给复制到页面上的 web.config 文件里
<authentication mode="Forms">
<!-- 设置验证属性 loginUrl =“登录页面” -->
<forms name="forums" path="/" timeout="40" protection="All" loginUrl="Login.aspx" /> <!-- Login.aspx 为自己的登录页面 -->
</authentication>
<authorization>
<!-- 设置资源为受保护,匿名用户不允许访问 -->
<deny users="?"/>
</authorization>
<system.web> 把代码复制到这这句中间! </system.web>
把这段代码复制 配置文件里面以后去到 Login.aspx(登录页面). 判断用户名是否正确,如果正确 ,在正确的代码里面加上:
FormsAuthentication.SetAuthCookie(user, false);
这段代码就可以访问后台的其他页面了。
如果这样设置以后如果Login.aspx页面调用了其他文件的css样式、或者应用了其他文件夹的图片 images ,这样 Login.aspx 页面将不会显示出所调用的css 和 图片文件,这样要怎么解决呢? 不是没有办法 下面有一段代码可以把某些文件夹、或者是文件给解除保护 ....
<location path="这里是要解除保护文件夹或者文件的路径!" >
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
这样就可以不受Forms限制访问其他文件了。
完整代码:配置
<configuration>
<system.web>
<compilation debug="true" targetFramework="4.0"/>
<authentication mode="Forms">
<forms name="forums" path="/" timeout="40" protection="All" loginUrl="Login.aspx" />
</authentication>
<authorization>
<deny users="?"/>
</authorization>
</system.web>
<!--——————————————不受保护 例外文件 ————————————————————-->
<location path="App_Themes" >
<system.web>
<authorization>
<allow users="?"/>
</authorization>
</system.web>
</location>
</configuration>
后台:
FormsAuthentication.SetAuthCookie(user, false);
如果用户名存在 加上。。