asp.net能限制用户必须从登陆页面进入,不允许从其他页面进入。
asp.net能限制用户必须从登陆页面进入,不允许从其他页面进入。
不用session技术,也不用cookie技术。
用iis配置里,或从web.config里,可以控制下吗,
只允许用户用登陆页面进入,其他的页面不允许打开,或者是打开后转向登陆页面 。
应该可以吧,可惜我没查到。谢谢呀。
------解决方案--------------------IIS上是可以设置……就是在右键网站选择属性中的文档选项卡下……把默认的去掉加上你的登录页面即可……
不过如果不在其他页面加上判断的话,客户直接输入其他页面地址还是可以直接访问的啊……
------解决方案--------------------<forms loginUrl="login.aspx" defaultUrl="Login.aspx">
</forms>
------解决方案--------------------在配置文件里设置哈
------解决方案--------------------formAuthenticate
或者自己写个httpmodlue
对每个页面进行判断
写个pagebase,所有的页面继承这个基类
------解决方案--------------------config.xml里!
<location path="Admin">
<system.web>
<authorization>
<!--
FormsAuthentication.RedirectToLoginPage();//登陆按扭加上这个
就OK了
------解决方案--------------------
------解决方案--------------------页面缓存 也可以 不需要配置web.config
------解决方案--------------------应该每个页面都加上判断吧?webconfig里面可以配置?
------解决方案--------------------goole一下Forms认证
------解决方案--------------------参考
form认证也是基于cookie的
------解决方案--------------------Forms验证
------解决方案--------------------
------解决方案--------------------自己写一个类,继承page,在构造函数中判断原始请求URL是否登录页面,不是就转到登陆页,然后其它页面继承此类。
------解决方案--------------------学习
------解决方案--------------------
------解决方案--------------------你需要做的是一种访问控制,但我不明白这和Cookie/Session有什么必然联系,Cookie/Session都只是访问控制中用于标记用户的手段,URL也能用于标记用户(Cookieless Session就是这样做到的)。
如果你是做下载站点,必须从一个页面进入下载资源,同时下载资源是静态文件所以Cookie/Session这类ASP.NET才能用到的东西用不了,那么我建议你:
1.改用IIS7,整个IIS都至于web.config之下,整个IIS都可以用IHttpModule,你想怎样做访问控制都可以
2.把静态资源置于动态资源背后,由ASP.NET逻辑提供静态资源,而非让IIS直接提供静态资源,从而在ASP.NET上做访问控制。
------解决方案--------------------引用2楼
------解决方案-------------------- 学习!
------解决方案--------------------这样写
C# code
<!--Form认证设置Start-->
<authentication mode="Forms">
<forms defaultUrl="default.htm" loginUrl="Manager/Login.aspx" enableCrossAppRedirects="true" path="/">
</forms>
</authentication>
<authorization>
<allow users="*"/>
</authorization>
<!--Form认证设置End-->