标题:关于"利用ASP.NET框架创建网站登陆"的提问
只看楼主
winsonjie
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-5-20
 问题点数:0 回复次数:5 
关于"利用ASP.NET框架创建网站登陆"的提问
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<system.web>
<!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
-->
<authorization>
<allow users="*" />
</authorization>
</system.web>
</configuration>

我将<allow users="*"/>改成<deny users="?"/>之后,我用本地http://localhost/login/main.aspx还可以跳过登录访问main.aspx这一页,那文档不是说改成<deny users="?"/>就可以拒绝匿名访问的吗?
是不是我还有一点东西没做还是做错了,请赐教
搜索更多相关主题的帖子: NET web 通配符 ASP 
2006-09-18 20:00
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
得分:0 

1、查看你的应用程序根目录中的授权模式是否是Forms?

2、如果您之前已经登陆访问过此页,再次输入URL访问,得到的是你本地缓存内的原始页面,只要F5刷新就不能再访问。


如果还是无法解决问题,请再发帖来问


铲铲是也
2006-09-18 20:23
winsonjie
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-5-20
得分:0 

还是不行,我的Web.config改的是这样的,把Windows改成Forms之后就会出错

<authentication mode="Forms" />

<!-- 授权
此节设置应用程序的授权策略。可以允许或拒绝不同的用户或角色访问
应用程序资源。通配符: "*" 表示任何人,"?" 表示匿名
(未经身份验证的)用户。
-->

<authorization>
<deny users="?" /> <!-- 允许所有用户 -->
<!-- <allow users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
<deny users="[逗号分隔的用户列表]"
roles="[逗号分隔的角色列表]"/>
-->
</authorization>

“/BBSlogin”应用程序中的服务器错误。


无法找到资源。

说明: HTTP 404。您正在查找的资源(或者它的一个依赖项)可能已被移除,或其名称已更改,或暂时不可用。请检查以下 URL 并确保其拼写正确。

请求的 URL: /BBSlogin/login.aspx


版本信息: Microsoft .NET Framework 版本:1.1.4322.573; ASP.NET 版本:1.1.4322.573


2006-09-18 22:28
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
得分:0 

1、<authentication mode="Forms" />配置节必须放在“应用程序根目录”中,就是bin所在目录。根据上述结果,你的配置节没有报错。其它任何子目录中不能放置此节。

2、它正在查找你的login.aspx文件,说明你对某资源的访问已经被转向至login.aspx页面要求登陆。而该页面不存在。
<authentication mode="Forms" />配置节还可以添加属性以指明当授权被拒绝时跳转到什么页面。默认如果不设置的话,将会找您应用程序根目录中的login.aspx,你需要在你的应用程序根目录中创建此文件。


铲铲是也
2006-09-18 22:40
winsonjie
Rank: 1
等 级:新手上路
帖 子:129
专家分:0
注 册:2006-5-20
得分:0 
我新添加了login.aspx页作业登录的页面之后 ,上面的问题就解决了,但却遇到另一个问题:我输入正确的用户名和密码之后它不会调转到指定的页,而是又连接到它本身.
不知问题出在哪里了,还有一点不明的就是:它是不是默认的login.aspx页,如果要指明转向的页,那Web.config里的代码应该怎样写?

2006-09-18 23:26
铲铲
Rank: 7Rank: 7Rank: 7
等 级:贵宾
威 望:34
帖 子:506
专家分:0
注 册:2006-5-2
得分:0 

1、使用System.Web.Security.FormsAuthentication.SetAuthCookie()方法,仅仅是发送了验证Cookie到客户浏览器。要跳转,必须自己写Response.Redirect()方法。

2、使用Web.Security.FormsAuthentication.RedirectFromLoginPage()方法,该方法除了发送验证Cookie到客户浏览器,还根据传入的ReturnUrl参数跳转。如果没有传入该参数,将跳转到default.aspx页面中。ReturnUrl通过URL后代参数的形式传入。


铲铲是也
2006-09-19 19:07



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-91070-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.371000 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved