读书人

asp.net会限制用户必须从登陆页面进入

发布时间: 2012-11-08 08:48:11 作者: rapoo

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了
[解决办法]

探讨
引用:
<forms loginUrl="login.aspx" defaultUrl="Login.aspx">
</forms>



你好,谢谢,请问这句写在哪儿,能做到这个功能吗:

限制用户必须得从login.aspx这个页面进入,打开其他页面就跳转到这个,或者失败,都可以。

只加这行代码,能实现这个功能吗?

[解决办法]
页面缓存 也可以 不需要配置web.config
[解决办法]
应该每个页面都加上判断吧?webconfig里面可以配置?
[解决办法]
goole一下Forms认证
[解决办法]
参考

form认证也是基于cookie的
[解决办法]
Forms验证
[解决办法]
探讨
引用:
引用:
<forms loginUrl="login.aspx" defaultUrl="Login.aspx">
</forms>


你好,谢谢,请问这句写在哪儿,能做到这个功能吗:

限制用户必须得从login.aspx这个页面进入,打开其他页面就跳转到这个,或者失败,都可以。

只加这行代码,能实现这个功能吗?


十分行!!!

[解决办法]
自己写一个类,继承page,在构造函数中判断原始请求URL是否登录页面,不是就转到登陆页,然后其它页面继承此类。
[解决办法]
学习
[解决办法]
探讨
自己写一个类,继承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
仿佛.
[解决办法]

探讨
这样写

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-->

[解决办法]
用.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就失去作用.
[解决办法]
探讨
引用:
<forms loginUrl="login.aspx" defaultUrl="Login.aspx">
</forms>



你好,谢谢,请问这句写在哪儿,能做到这个功能吗:

限制用户必须得从login.aspx这个页面进入,打开其他页面就跳转到这个,或者失败,都可以。

只加这行代码,能实现这个功能吗?

[解决办法]
不建议的做法
[解决办法]
在web.config里面配置
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn" timeout="2880" />
</authentication>

[解决办法]
探讨
引用:
这样写

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-->


就是这个样子的,我们以前…

[解决办法]
配置文件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
[解决办法]
发错了!!!!

读书人网 >asp.net

热点推荐