ASP.NET 不允许从其他页面进入
场景:asp.net会限制用户必须从登陆页面进入,不允许从其他页面进入
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楼
------解决方案--------------------
学习!
------解决方案--------------------
这样写
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-->
------解决方案--------------------
MARK
仿佛.
------解决方案--------------------
------解决方案--------------------
用.NET认证方式吧..在web.config里进行配置.
1.<authentication mode="Forms">
<forms defaultUrl="default.htm" loginUrl="Login.aspx" timeout="30" enableCrossAppRedirects="true" path="/">
</forms> 其中loginurl就是没有通过系统验证的用户会被定向到login.aspx.若用户通过身份验证,默认会转到defaulturl定义的页,默认值为 "default.aspx"。timeout定义通过认证用户有效时间.
2.除此以外,你还需设置
<authorization>
<deny users="?"/>
</authorization>
设置不容许匿名用户访问..若不进行此设置,此前的forms就失去作用.
------解决方案--------------------
------解决方案--------------------
不建议的做法
------解决方案--------------------
在web.config里面配置
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>
------解决方案--------------------
------解决方案--------------------
配置文件Web.config中<system.web></system.web>里添加上面语句
------解决方案--------------------
正需要这个
------解决方案--------------------
可以在WEB.CONFIG里设置
<authentication mode="Forms">
<forms defaultUrl="default.aspx" loginUrl="login.aspx" name=".ASPXFORMSAUTH"></forms>
</authentication>
<authorization>
<deny users="?"/>
</authorization>
------解决方案--------------------
form认证就可以了。
------解决方案--------------------
你不让用session和cookie,其实楼上各位的方法仍然是用session和cookie的,只不过MS帮你包办了.
------解决方案--------------------
webBrowser包装个html标签跑马 也是个思路哦
------解决方案--------------------
UP
------解决方案--------------------
发错了!!!!